WebKitWebFrame

WebKitWebFrame — The content of a WebKitWebView

Synopsis

enum                WebKitLoadStatus;
                    WebKitWebFrame;
WebKitWebFrame *    webkit_web_frame_find_frame         (WebKitWebFrame *frame,
                                                         const gchar *name);
WebKitWebDataSource * webkit_web_frame_get_data_source  (WebKitWebFrame *frame);
JSGlobalContextRef  webkit_web_frame_get_global_context (WebKitWebFrame *frame);
GtkPolicyType       webkit_web_frame_get_horizontal_scrollbar_policy
                                                        (WebKitWebFrame *frame);
WebKitLoadStatus    webkit_web_frame_get_load_status    (WebKitWebFrame *frame);
const gchar *       webkit_web_frame_get_name           (WebKitWebFrame *frame);
WebKitNetworkResponse * webkit_web_frame_get_network_response
                                                        (WebKitWebFrame *frame);
WebKitWebFrame *    webkit_web_frame_get_parent         (WebKitWebFrame *frame);
WebKitWebDataSource * webkit_web_frame_get_provisional_data_source
                                                        (WebKitWebFrame *frame);
WebKitSecurityOrigin * webkit_web_frame_get_security_origin
                                                        (WebKitWebFrame *frame);
const gchar *       webkit_web_frame_get_title          (WebKitWebFrame *frame);
const gchar *       webkit_web_frame_get_uri            (WebKitWebFrame *frame);
GtkPolicyType       webkit_web_frame_get_vertical_scrollbar_policy
                                                        (WebKitWebFrame *frame);
WebKitWebView *     webkit_web_frame_get_web_view       (WebKitWebFrame *frame);
void                webkit_web_frame_load_alternate_string
                                                        (WebKitWebFrame *frame,
                                                         const gchar *content,
                                                         const gchar *base_url,
                                                         const gchar *unreachable_url);
void                webkit_web_frame_load_request       (WebKitWebFrame *frame,
                                                         WebKitNetworkRequest *request);
void                webkit_web_frame_load_string        (WebKitWebFrame *frame,
                                                         const gchar *content,
                                                         const gchar *mime_type,
                                                         const gchar *encoding,
                                                         const gchar *base_uri);
void                webkit_web_frame_load_uri           (WebKitWebFrame *frame,
                                                         const gchar *uri);
WebKitWebFrame *    webkit_web_frame_new                (WebKitWebView *web_view);
void                webkit_web_frame_print              (WebKitWebFrame *frame);
GtkPrintOperationResult webkit_web_frame_print_full     (WebKitWebFrame *frame,
                                                         GtkPrintOperation *operation,
                                                         GtkPrintOperationAction action,
                                                         GError **error);
void                webkit_web_frame_reload             (WebKitWebFrame *frame);
void                webkit_web_frame_stop_loading       (WebKitWebFrame *frame);

Object Hierarchy

  GObject
   +----WebKitWebFrame

Properties

  "horizontal-scrollbar-policy" GtkPolicyType         : Read
  "load-status"              WebKitLoadStatus      : Read
  "name"                     gchar*                : Read
  "title"                    gchar*                : Read
  "uri"                      gchar*                : Read
  "vertical-scrollbar-policy" GtkPolicyType         : Read

Signals

  "cleared"                                        : Run Last
  "hovering-over-link"                             : Run Last
  "load-committed"                                 : Run Last
  "load-done"                                      : Run Last
  "resource-content-length-received"               : Run Last
  "resource-load-failed"                           : Run Last
  "resource-load-finished"                         : Run Last
  "resource-request-starting"                      : Run Last
  "resource-response-received"                     : Run Last
  "scrollbars-policy-changed"                      : Action
  "title-changed"                                  : Run Last

Description

A WebKitWebView contains a main WebKitWebFrame. A WebKitWebFrame contains the content of one URI. The URI and name of the frame can be retrieved, the load status and progress can be observed using the signals and can be controlled using the methods of the WebKitWebFrame. A WebKitWebFrame can have any number of children and one child can be found by using webkit_web_frame_find_frame.

1
2
3
/* Get the frame from the <a class="link" href="webkitgtk-webkitwebview.html#WebKitWebView">WebKitWebView</a> */
WebKitWebFrame *frame = webkit_web_view_get_main_frame (WEBKIT_WEB_VIEW(my_view));
g_print ("The URI of this frame is '%s'", webkit_web_frame_get_uri (frame));

Details

enum WebKitLoadStatus

typedef enum {
    WEBKIT_LOAD_PROVISIONAL,
    WEBKIT_LOAD_COMMITTED,
    WEBKIT_LOAD_FINISHED,
    WEBKIT_LOAD_FIRST_VISUALLY_NON_EMPTY_LAYOUT,
    WEBKIT_LOAD_FAILED
} WebKitLoadStatus;

WEBKIT_LOAD_PROVISIONAL

No data has been received yet, empty structures have been allocated to perform the load; the load may still fail for transport issues such as not being able to resolve a name, or connect to a port.

WEBKIT_LOAD_COMMITTED

The first data chunk has arrived, meaning that the necessary transport requirements are stabilished, and the load is being performed.

WEBKIT_LOAD_FINISHED

This state means that everything that was required to display the page has been loaded.

WEBKIT_LOAD_FIRST_VISUALLY_NON_EMPTY_LAYOUT

The first layout with actual visible content happened; one or more layouts may have happened before that caused nothing to be visible on the screen, because the data available at the time was not significant enough.

WEBKIT_LOAD_FAILED

This state means that some error occurred during the page load that prevented it from being completed. You can connect to the "load-error" signal if you want to know precisely what kind of error occurred.

WebKitWebFrame

typedef struct _WebKitWebFrame WebKitWebFrame;


webkit_web_frame_find_frame ()

WebKitWebFrame *    webkit_web_frame_find_frame         (WebKitWebFrame *frame,
                                                         const gchar *name);

For pre-defined names, returns frame if name is "_self" or "_current", returns frame's parent frame if name is "_parent", and returns the main frame if name is "_top". Also returns frame if it is the main frame and name is either "_parent" or "_top". For other names, this function returns the first frame that matches name. This function searches frame and its descendents first, then frame's parent and its children moving up the hierarchy until a match is found. If no match is found in frame's hierarchy, this function will search for a matching frame in other main frame hierarchies. Returns NULL if no match is found.

frame :

a WebKitWebFrame

name :

the name of the frame to be found

Returns :

the found WebKitWebFrame or NULL in case none is found. [transfer none]

webkit_web_frame_get_data_source ()

WebKitWebDataSource * webkit_web_frame_get_data_source  (WebKitWebFrame *frame);

Returns the committed data source.

frame :

a WebKitWebFrame

Returns :

the committed WebKitWebDataSource. [transfer none]

Since 1.1.14


webkit_web_frame_get_global_context ()

JSGlobalContextRef  webkit_web_frame_get_global_context (WebKitWebFrame *frame);

Gets the global JavaScript execution context. Use this function to bridge between the WebKit and JavaScriptCore APIs.

frame :

a WebKitWebFrame

Returns :

the global JavaScript context. [transfer none]

webkit_web_frame_get_horizontal_scrollbar_policy ()

GtkPolicyType       webkit_web_frame_get_horizontal_scrollbar_policy
                                                        (WebKitWebFrame *frame);


webkit_web_frame_get_load_status ()

WebKitLoadStatus    webkit_web_frame_get_load_status    (WebKitWebFrame *frame);

Determines the current status of the load.

frame :

a WebKitWebView

Returns :

The WebKitLoadStatus specifying the status of the current load.

Since 1.1.7


webkit_web_frame_get_name ()

const gchar *       webkit_web_frame_get_name           (WebKitWebFrame *frame);

Returns the frame's name

frame :

a WebKitWebFrame

Returns :

the name of frame. This method will return NULL if the WebKitWebFrame is invalid or an empty string if it is not backed by a live WebCore frame.

webkit_web_frame_get_network_response ()

WebKitNetworkResponse * webkit_web_frame_get_network_response
                                                        (WebKitWebFrame *frame);

Returns a WebKitNetworkResponse object representing the response that was given to the request for the given frame, or NULL if the frame was not created by a load. You must unref the object when you are done with it.

frame :

a WebKitWebFrame

Returns :

a WebKitNetworkResponse object. [transfer full]

Since 1.1.18


webkit_web_frame_get_parent ()

WebKitWebFrame *    webkit_web_frame_get_parent         (WebKitWebFrame *frame);

Returns the frame's parent frame, or NULL if it has none.

frame :

a WebKitWebFrame

Returns :

the parent WebKitWebFrame or NULL in case there is none. [transfer none]

webkit_web_frame_get_provisional_data_source ()

WebKitWebDataSource * webkit_web_frame_get_provisional_data_source
                                                        (WebKitWebFrame *frame);

You use the webkit_web_frame_load_request method to initiate a request that creates a provisional data source. The provisional data source will transition to a committed data source once any data has been received. Use webkit_web_frame_get_data_source to get the committed data source.

frame :

a WebKitWebFrame

Returns :

the provisional WebKitWebDataSource or NULL if a load request is not in progress. [transfer none]

Since 1.1.14


webkit_web_frame_get_security_origin ()

WebKitSecurityOrigin * webkit_web_frame_get_security_origin
                                                        (WebKitWebFrame *frame);

Returns the frame's security origin.

frame :

a WebKitWebFrame

Returns :

the security origin of frame. [transfer none]

Since 1.1.14


webkit_web_frame_get_title ()

const gchar *       webkit_web_frame_get_title          (WebKitWebFrame *frame);

Returns the frame's document title

frame :

a WebKitWebFrame

Returns :

the title of frame

webkit_web_frame_get_uri ()

const gchar *       webkit_web_frame_get_uri            (WebKitWebFrame *frame);

Returns the current URI of the contents displayed by the frame

frame :

a WebKitWebFrame

Returns :

the URI of frame

webkit_web_frame_get_vertical_scrollbar_policy ()

GtkPolicyType       webkit_web_frame_get_vertical_scrollbar_policy
                                                        (WebKitWebFrame *frame);


webkit_web_frame_get_web_view ()

WebKitWebView *     webkit_web_frame_get_web_view       (WebKitWebFrame *frame);

Returns the WebKitWebView that manages this WebKitWebFrame.

The WebKitWebView returned manages the entire hierarchy of WebKitWebFrame objects that contains frame.

frame :

a WebKitWebFrame

Returns :

the WebKitWebView that manages frame. [transfer none]

webkit_web_frame_load_alternate_string ()

void                webkit_web_frame_load_alternate_string
                                                        (WebKitWebFrame *frame,
                                                         const gchar *content,
                                                         const gchar *base_url,
                                                         const gchar *unreachable_url);

Request loading of an alternate content for a URL that is unreachable. Using this method will preserve the back-forward list. The URI passed in base_url has to be an absolute URI.

frame :

a WebKitWebFrame

content :

the alternate content to display as the main page of the frame

base_url :

the base URI for relative locations

unreachable_url :

the URL for the alternate page content

Since 1.1.6


webkit_web_frame_load_request ()

void                webkit_web_frame_load_request       (WebKitWebFrame *frame,
                                                         WebKitNetworkRequest *request);

Connects to a given URI by initiating an asynchronous client request.

Creates a provisional data source that will transition to a committed data source once any data has been received. Use webkit_web_frame_stop_loading() to stop the load. This function is typically invoked on the main frame.

frame :

a WebKitWebFrame

request :

a WebKitNetworkRequest

webkit_web_frame_load_string ()

void                webkit_web_frame_load_string        (WebKitWebFrame *frame,
                                                         const gchar *content,
                                                         const gchar *mime_type,
                                                         const gchar *encoding,
                                                         const gchar *base_uri);

Requests loading of the given content with the specified mime_type, encoding and base_uri.

If mime_type is NULL, "text/html" is assumed.

If encoding is NULL, "UTF-8" is assumed.

frame :

a WebKitWebFrame

content :

an URI string

mime_type :

the MIME type, or NULL

encoding :

the encoding, or NULL

base_uri :

the base URI for relative locations

Since 1.1.1


webkit_web_frame_load_uri ()

void                webkit_web_frame_load_uri           (WebKitWebFrame *frame,
                                                         const gchar *uri);

Requests loading of the specified URI string.

frame :

a WebKitWebFrame

uri :

an URI string

Since 1.1.1


webkit_web_frame_new ()

WebKitWebFrame *    webkit_web_frame_new                (WebKitWebView *web_view);

Warning

webkit_web_frame_new has been deprecated since version 1.0.2 and should not be used in newly-written code. WebKitWebFrame can only be used to inspect existing frames.

Creates a new WebKitWebFrame initialized with a controlling WebKitWebView.

web_view :

the controlling WebKitWebView

Returns :

a new WebKitWebFrame

webkit_web_frame_print ()

void                webkit_web_frame_print              (WebKitWebFrame *frame);

Prints the given WebKitWebFrame, by presenting a print dialog to the user. If you need more control over the printing process, see webkit_web_frame_print_full().

frame :

a WebKitWebFrame

Since 1.1.5


webkit_web_frame_print_full ()

GtkPrintOperationResult webkit_web_frame_print_full     (WebKitWebFrame *frame,
                                                         GtkPrintOperation *operation,
                                                         GtkPrintOperationAction action,
                                                         GError **error);

Prints the given WebKitWebFrame, using the given GtkPrintOperation and GtkPrintOperationAction. This function wraps a call to gtk_print_operation_run() for printing the contents of the WebKitWebFrame.

frame :

a WebKitWebFrame to be printed

operation :

the GtkPrintOperation to be carried

action :

the GtkPrintOperationAction to be performed

error :

GError for error return

Returns :

The GtkPrintOperationResult specifying the result of this operation.

Since 1.1.5


webkit_web_frame_reload ()

void                webkit_web_frame_reload             (WebKitWebFrame *frame);

Reloads the initial request.

frame :

a WebKitWebFrame

webkit_web_frame_stop_loading ()

void                webkit_web_frame_stop_loading       (WebKitWebFrame *frame);

Stops any pending loads on frame's data source, and those of its children.

frame :

a WebKitWebFrame

Property Details

The "horizontal-scrollbar-policy" property

  "horizontal-scrollbar-policy" GtkPolicyType         : Read

Determines the current policy for the horizontal scrollbar of the frame. For the main frame, make sure to set the same policy on the scrollable widget containing the WebKitWebView, unless you know what you are doing.

Default value: GTK_POLICY_AUTOMATIC

Since 1.1.14


The "load-status" property

  "load-status"              WebKitLoadStatus      : Read

Determines the current status of the load.

Default value: WEBKIT_LOAD_FINISHED

Since 1.1.7


The "name" property

  "name"                     gchar*                : Read

The name of the frame.

Default value: NULL


The "title" property

  "title"                    gchar*                : Read

The document title of the frame.

Default value: NULL


The "uri" property

  "uri"                      gchar*                : Read

The current URI of the contents displayed by the frame.

Default value: NULL


The "vertical-scrollbar-policy" property

  "vertical-scrollbar-policy" GtkPolicyType         : Read

Determines the current policy for the vertical scrollbar of the frame. For the main frame, make sure to set the same policy on the scrollable widget containing the WebKitWebView, unless you know what you are doing.

Default value: GTK_POLICY_AUTOMATIC

Since 1.1.14

Signal Details

The "cleared" signal

void                user_function                      (WebKitWebFrame *webkitwebframe,
                                                        gpointer        user_data)           : Run Last

webkitwebframe :

the object which received the signal.

user_data :

user data set when the signal handler was connected.

The "hovering-over-link" signal

void                user_function                      (WebKitWebFrame *webkitwebframe,
                                                        gchar          *arg1,
                                                        gchar          *arg2,
                                                        gpointer        user_data)           : Run Last

webkitwebframe :

the object which received the signal.

user_data :

user data set when the signal handler was connected.

The "load-committed" signal

void                user_function                      (WebKitWebFrame *web_frame,
                                                        gpointer        user_data)      : Run Last

Warning

WebKitWebFrame::load-committed is deprecated and should not be used in newly-written code. Use the "load-status" property instead.

Emitted when frame loading is done.

web_frame :

the object on which the signal is emitted

user_data :

user data set when the signal handler was connected.

The "load-done" signal

void                user_function                      (WebKitWebFrame *web_frame,
                                                        gboolean        arg1,
                                                        gpointer        user_data)      : Run Last

Warning

WebKitWebFrame::load-done is deprecated and should not be used in newly-written code. Use the "load-status" property instead, and/or WebKitWebView::load-error to be notified of load errors

Emitted when frame loading is done.

web_frame :

the object on which the signal is emitted

user_data :

user data set when the signal handler was connected.

The "resource-content-length-received" signal

void                user_function                      (WebKitWebFrame    *web_frame,
                                                        WebKitWebResource *web_resource,
                                                        gint               length_received,
                                                        gpointer           user_data)            : Run Last

Emitted when new resource data has been received. The length_received variable stores the amount of bytes received since the last time this signal was emitted. This is useful to provide progress information about the resource load operation.

web_frame :

the WebKitWebFrame the response was received for

web_resource :

the WebKitWebResource that was loaded

length_received :

the amount of data received since the last signal emission

user_data :

user data set when the signal handler was connected.

Since 1.7.5


The "resource-load-failed" signal

void                user_function                      (WebKitWebFrame    *web_frame,
                                                        WebKitWebResource *web_resource,
                                                        gpointer           error,
                                                        gpointer           user_data)         : Run Last

Invoked when a resource failed to load.

web_frame :

the WebKitWebFrame the response was received for

web_resource :

the WebKitWebResource that was loaded

error :

the GError that was triggered

user_data :

user data set when the signal handler was connected.

Since 1.7.5


The "resource-load-finished" signal

void                user_function                      (WebKitWebFrame    *web_frame,
                                                        WebKitWebResource *web_resource,
                                                        gpointer           user_data)         : Run Last

Emitted when all the data for the resource was loaded.

web_frame :

the WebKitWebFrame the response was received for

web_resource :

the WebKitWebResource being loaded

user_data :

user data set when the signal handler was connected.

Since 1.7.5


The "resource-request-starting" signal

void                user_function                      (WebKitWebFrame        *web_frame,
                                                        WebKitWebResource     *web_resource,
                                                        WebKitNetworkRequest  *request,
                                                        WebKitNetworkResponse *response,
                                                        gpointer               user_data)         : Run Last

Emitted when a request is about to be sent. You can modify the request while handling this signal. You can set the URI in the WebKitNetworkRequest object itself, and add/remove/replace headers using the SoupMessage object it carries, if it is present. See webkit_network_request_get_message(). Setting the request URI to "about:blank" will effectively cause the request to load nothing, and can be used to disable the loading of specific resources.

Notice that information about an eventual redirect is available in response's SoupMessage, not in the SoupMessage carried by the request. If response is NULL, then this is not a redirected request.

The WebKitWebResource object will be the same throughout all the lifetime of the resource, but the contents may change between signal emissions.

web_frame :

the WebKitWebFrame whose load dispatched this request

web_resource :

an empty WebKitWebResource object

request :

the WebKitNetworkRequest that will be dispatched

response :

the WebKitNetworkResponse representing the redirect response, if any

user_data :

user data set when the signal handler was connected.

Since 1.7.5


The "resource-response-received" signal

void                user_function                      (WebKitWebFrame        *web_frame,
                                                        WebKitWebResource     *web_resource,
                                                        WebKitNetworkResponse *response,
                                                        gpointer               user_data)         : Run Last

Emitted when the response is received from the server.

web_frame :

the WebKitWebFrame the response was received for

web_resource :

the WebKitWebResource being loaded

response :

the WebKitNetworkResponse that was received.

user_data :

user data set when the signal handler was connected.

Since 1.7.5


The "scrollbars-policy-changed" signal

gboolean            user_function                      (WebKitWebFrame *web_view,
                                                        gpointer        user_data)      : Action

Signal emitted when policy for one or both of the scrollbars of the view has changed. The default handler will apply the new policy to the container that holds the WebKitWebFrame if it is a GtkScrolledWindow and the frame is the main frame. If you do not want this to be handled automatically, you need to handle this signal.

The exception to this rule is that policies to disable the scrollbars are applied as GTK_POLICY_AUTOMATIC instead, since the size request of the widget would force browser windows to not be resizable.

You can obtain the new policies from the WebKitWebFrame:horizontal-scrollbar-policy and WebKitWebFrame:vertical-scrollbar-policy properties.

web_view :

the object which received the signal

user_data :

user data set when the signal handler was connected.

Returns :

TRUE to stop other handlers from being invoked for the event. FALSE to propagate the event further.

Since 1.1.14


The "title-changed" signal

void                user_function                      (WebKitWebFrame *frame,
                                                        gchar          *title,
                                                        gpointer        user_data)      : Run Last

Warning

WebKitWebFrame::title-changed has been deprecated since version 1.1.18 and should not be used in newly-written code. Use "notify::title" instead.

When a WebKitWebFrame changes the document title this signal is emitted.

frame :

the object on which the signal is emitted

title :

the new title

user_data :

user data set when the signal handler was connected.