WebKit2GTK+ Reference Manual | ||||
---|---|---|---|---|
Top | Description | Object Hierarchy | Implemented Interfaces | Properties | Signals |
WebKitWebView; enum WebKitLoadEvent; enum WebKitPolicyDecisionType; #define WEBKIT_EDITING_COMMAND_CUT #define WEBKIT_EDITING_COMMAND_COPY #define WEBKIT_EDITING_COMMAND_PASTE GtkWidget * webkit_web_view_new (void
); GtkWidget * webkit_web_view_new_with_context (WebKitWebContext *context
); WebKitWebContext * webkit_web_view_get_context (WebKitWebView *web_view
); void webkit_web_view_load_uri (WebKitWebView *web_view
,const gchar *uri
); void webkit_web_view_load_html (WebKitWebView *web_view
,const gchar *content
,const gchar *base_uri
); void webkit_web_view_load_plain_text (WebKitWebView *web_view
,const gchar *plain_text
); void webkit_web_view_load_request (WebKitWebView *web_view
,WebKitURIRequest *request
); void webkit_web_view_replace_content (WebKitWebView *web_view
,const gchar *content
,const gchar *content_uri
,const gchar *base_uri
); gboolean webkit_web_view_can_go_back (WebKitWebView *web_view
); void webkit_web_view_go_back (WebKitWebView *web_view
); gboolean webkit_web_view_can_go_forward (WebKitWebView *web_view
); void webkit_web_view_go_forward (WebKitWebView *web_view
); const gchar * webkit_web_view_get_title (WebKitWebView *web_view
); void webkit_web_view_reload (WebKitWebView *web_view
); void webkit_web_view_reload_bypass_cache (WebKitWebView *web_view
); void webkit_web_view_stop_loading (WebKitWebView *web_view
); gdouble webkit_web_view_get_estimated_load_progress (WebKitWebView *web_view
); const gchar * webkit_web_view_get_custom_charset (WebKitWebView *web_view
); void webkit_web_view_set_custom_charset (WebKitWebView *web_view
,const gchar *charset
); WebKitBackForwardList * webkit_web_view_get_back_forward_list (WebKitWebView *web_view
); void webkit_web_view_go_to_back_forward_list_item (WebKitWebView *web_view
,WebKitBackForwardListItem *list_item
); const gchar * webkit_web_view_get_uri (WebKitWebView *web_view
); void webkit_web_view_set_settings (WebKitWebView *web_view
,WebKitSettings *settings
); WebKitSettings * webkit_web_view_get_settings (WebKitWebView *web_view
); WebKitWindowProperties * webkit_web_view_get_window_properties (WebKitWebView *web_view
); void webkit_web_view_set_zoom_level (WebKitWebView *web_view
,gdouble zoom_level
); gdouble webkit_web_view_get_zoom_level (WebKitWebView *web_view
); void webkit_web_view_can_execute_editing_command (WebKitWebView *web_view
,const gchar *command
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
); gboolean webkit_web_view_can_execute_editing_command_finish (WebKitWebView *web_view
,GAsyncResult *result
,GError **error
); void webkit_web_view_execute_editing_command (WebKitWebView *web_view
,const gchar *command
); WebKitFindController * webkit_web_view_get_find_controller (WebKitWebView *web_view
); WebKitWebInspector * webkit_web_view_get_inspector (WebKitWebView *web_view
); JSGlobalContextRef webkit_web_view_get_javascript_global_context (WebKitWebView *web_view
); void webkit_web_view_run_javascript (WebKitWebView *web_view
,const gchar *script
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
); WebKitJavascriptResult * webkit_web_view_run_javascript_finish (WebKitWebView *web_view
,GAsyncResult *result
,GError **error
); gboolean webkit_web_view_can_show_mime_type (WebKitWebView *web_view
,const gchar *mime_type
); WebKitJavascriptResult; WebKitJavascriptResult * webkit_javascript_result_ref (WebKitJavascriptResult *js_result
); void webkit_javascript_result_unref (WebKitJavascriptResult *js_result
); JSGlobalContextRef webkit_javascript_result_get_global_context (WebKitJavascriptResult *js_result
); JSValueRef webkit_javascript_result_get_value (WebKitJavascriptResult *js_result
); WebKitScriptDialog; enum WebKitScriptDialogType; WebKitScriptDialogType webkit_script_dialog_get_dialog_type (WebKitScriptDialog *dialog
); const gchar * webkit_script_dialog_get_message (WebKitScriptDialog *dialog
); void webkit_script_dialog_confirm_set_confirmed (WebKitScriptDialog *dialog
,gboolean confirmed
); const gchar * webkit_script_dialog_prompt_get_default_text (WebKitScriptDialog *dialog
); void webkit_script_dialog_prompt_set_text (WebKitScriptDialog *dialog
,const gchar *text
); WebKitWebResource * webkit_web_view_get_main_resource (WebKitWebView *web_view
); GList * webkit_web_view_get_subresources (WebKitWebView *web_view
);
GObject +----GInitiallyUnowned +----GtkWidget +----GtkContainer +----WebKitWebViewBase +----WebKitWebView
GBoxed +----WebKitJavascriptResult
GBoxed +----WebKitScriptDialog
"estimated-load-progress" gdouble : Read "title" gchar* : Read "uri" gchar* : Read "web-context" WebKitWebContext* : Read / Write / Construct Only "zoom-level" gdouble : Read / Write
"close" :Run Last
"context-menu" :Run Last
"create" :Run Last
"decide-policy" :Run Last
"enter-fullscreen" :Run Last
"leave-fullscreen" :Run Last
"load-changed" :Run Last
"load-failed" :Run Last
"mouse-target-changed" :Run Last
"permission-request" :Run Last
"print-requested" :Run Last
"ready-to-show" :Run Last
"resource-load-started" :Run Last
"run-as-modal" :Run Last
"run-file-chooser" :Run Last
"script-dialog" :Run Last
typedef enum { WEBKIT_LOAD_STARTED, WEBKIT_LOAD_REDIRECTED, WEBKIT_LOAD_COMMITTED, WEBKIT_LOAD_FINISHED } WebKitLoadEvent;
Enum values used to denote the different events that happen during a WebKitWebView load operation.
A new load request has been made. No data has been received yet, empty structures have been allocated to perform the load; the load may still fail due to transport issues such as not being able to resolve a name, or connect to a port. | |
A provisional data source received a server redirect. | |
The content started arriving for a page load. The necessary transport requirements are stabilished, and the load is being performed. | |
Load completed. All resources are done loading or there was an error during the load operation. |
typedef enum { WEBKIT_POLICY_DECISION_TYPE_NAVIGATION_ACTION, WEBKIT_POLICY_DECISION_TYPE_NEW_WINDOW_ACTION, WEBKIT_POLICY_DECISION_TYPE_RESPONSE, } WebKitPolicyDecisionType;
Enum values used for determining the type of a policy decision during "decide-policy".
This type of policy decision
is requested when WebKit is about to navigate to a new page in either the
main frame or a subframe. Acceptable policy decisions are either
webkit_policy_decision_use() or webkit_policy_decision_ignore() . This
type of policy decision is always a WebKitNavigationPolicyDecision.
|
|
This type of policy decision
is requested when WebKit is about to create a new window. Acceptable policy
decisions are either webkit_policy_decision_use() or
webkit_policy_decision_ignore() . This type of policy decision is always
a WebKitNavigationPolicyDecision. These decisions are useful for implementing
special actions for new windows, such as forcing the new window to open
in a tab when a keyboard modifier is active or handling a special
target attribute on <a> elements.
|
|
This type of decision is used when WebKit has
received a response for a network resource and is about to start the load.
Note that these resources include all subresources of a page such as images
and stylesheets as well as main documents. Appropriate policy responses to
this decision are webkit_policy_decision_use() , webkit_policy_decision_ignore() ,
or webkit_policy_decision_download() . This type of policy decision is always
a WebKitResponsePolicyDecision. This decision is useful for forcing
some types of resources to be downloaded rather than rendered in the WebView
or to block the transfer of resources entirely.
|
#define WEBKIT_EDITING_COMMAND_CUT "Cut"
The cut clipboard command. Copies the current selection inside
a WebKitWebView to the clipboard and deletes the selected content.
You can check whether it's possible to execute the command with
webkit_web_view_can_execute_editing_command()
. In general it's
possible to cut to the clipboard when the WebKitWebView content is
editable and there is an active selection.
#define WEBKIT_EDITING_COMMAND_COPY "Copy"
The copy clipboard command. Copies the current selection inside
a WebKitWebView to the clipboard.
You can check whether it's possible to execute the command with
webkit_web_view_can_execute_editing_command()
. In general it's
possible to copy to the clipboard when there is an active selection
inside the WebKitWebView.
#define WEBKIT_EDITING_COMMAND_PASTE "Paste"
The paste clipboard command. Pastes the contents of the clipboard to
a WebKitWebView.
You can check whether it's possible to execute the command with
webkit_web_view_can_execute_editing_command()
. In general it's possible
to paste from the clipboard when the WebKitWebView content is editable
and clipboard is not empty.
GtkWidget * webkit_web_view_new (void
);
Creates a new WebKitWebView with the default WebKitWebContext.
See also webkit_web_view_new_with_context()
.
Returns : |
The newly created WebKitWebView widget |
GtkWidget * webkit_web_view_new_with_context (WebKitWebContext *context
);
Creates a new WebKitWebView with the given WebKitWebContext.
|
the WebKitWebContext to be used by the WebKitWebView |
Returns : |
The newly created WebKitWebView widget |
WebKitWebContext * webkit_web_view_get_context (WebKitWebView *web_view
);
Gets the web context of web_view
.
|
a WebKitWebView |
Returns : |
the WebKitWebContext of the view. [transfer none] |
void webkit_web_view_load_uri (WebKitWebView *web_view
,const gchar *uri
);
Requests loading of the specified URI string. You can monitor the load operation by connecting to "load-changed" signal.
|
a WebKitWebView |
|
an URI string |
void webkit_web_view_load_html (WebKitWebView *web_view
,const gchar *content
,const gchar *base_uri
);
Load the given content
string with the specified base_uri
.
If base_uri
is not NULL
, relative URLs in the content
will be
resolved against base_uri
and absolute local paths must be children of the base_uri
.
For security reasons absolute local paths that are not children of base_uri
will cause the web process to terminate.
If you need to include URLs in content
that are local paths in a different
directory than base_uri
you can build a data URI for them. When base_uri
is NULL
,
it defaults to "about:blank". The mime type of the document will be "text/html".
You can monitor the load operation by connecting to "load-changed" signal.
|
a WebKitWebView |
|
The HTML string to load |
|
The base URI for relative locations or NULL . [allow-none]
|
void webkit_web_view_load_plain_text (WebKitWebView *web_view
,const gchar *plain_text
);
Load the specified plain_text
string into web_view
. The mime type of
document will be "text/plain". You can monitor the load
operation by connecting to "load-changed" signal.
|
a WebKitWebView |
|
The plain text to load |
void webkit_web_view_load_request (WebKitWebView *web_view
,WebKitURIRequest *request
);
Requests loading of the specified WebKitURIRequest. You can monitor the load operation by connecting to "load-changed" signal.
|
a WebKitWebView |
|
a WebKitURIRequest to load |
void webkit_web_view_replace_content (WebKitWebView *web_view
,const gchar *content
,const gchar *content_uri
,const gchar *base_uri
);
Replace the content of web_view
with content
using content_uri
as page URI.
This allows clients to display page-loading errors in the WebKitWebView itself.
This is typically called from "load-failed" signal. The URI passed in
base_uri
has to be an absolute URI. The mime type of the document will be "text/html".
Signals "load-changed" and "load-failed" are not emitted
when replacing content of a WebKitWebView using this method.
|
a WebKitWebView |
|
the new content to display as the main page of the web_view
|
|
the URI for the page content |
|
the base URI for relative locations or NULL . [allow-none]
|
gboolean webkit_web_view_can_go_back (WebKitWebView *web_view
);
Determines whether web_view
has a previous history item.
|
a WebKitWebView |
Returns : |
TRUE if able to move back or FALSE otherwise. |
void webkit_web_view_go_back (WebKitWebView *web_view
);
Loads the previous history item. You can monitor the load operation by connecting to "load-changed" signal.
|
a WebKitWebView |
gboolean webkit_web_view_can_go_forward (WebKitWebView *web_view
);
Determines whether web_view
has a next history item.
|
a WebKitWebView |
Returns : |
TRUE if able to move forward or FALSE otherwise. |
void webkit_web_view_go_forward (WebKitWebView *web_view
);
Loads the next history item. You can monitor the load operation by connecting to "load-changed" signal.
|
a WebKitWebView |
const gchar * webkit_web_view_get_title (WebKitWebView *web_view
);
Gets the value of the "title" property.
You can connect to notify::title signal of web_view
to
be notified when the title has been received.
|
a WebKitWebView |
Returns : |
The main frame document title of web_view . |
void webkit_web_view_reload (WebKitWebView *web_view
);
Reloads the current contents of web_view
.
See also webkit_web_view_reload_bypass_cache()
.
|
a WebKitWebView |
void webkit_web_view_reload_bypass_cache (WebKitWebView *web_view
);
Reloads the current contents of web_view
without
using any cached data.
|
a WebKitWebView |
void webkit_web_view_stop_loading (WebKitWebView *web_view
);
Stops any ongoing loading operation in web_view
.
This method does nothing if no content is being loaded.
If there is a loading operation in progress, it will be cancelled and
"load-failed" signal will be emitted with
WEBKIT_NETWORK_ERROR_CANCELLED
error.
|
a WebKitWebView |
gdouble webkit_web_view_get_estimated_load_progress
(WebKitWebView *web_view
);
Gets the value of the "estimated-load-progress" property.
You can monitor the estimated progress of a load operation by
connecting to the notify::estimated-load-progress signal of web_view
.
|
a WebKitWebView |
Returns : |
an estimate of the of the percent complete for a document load as a range from 0.0 to 1.0. |
const gchar * webkit_web_view_get_custom_charset (WebKitWebView *web_view
);
Returns the current custom character encoding name of web_view
.
|
a WebKitWebView |
Returns : |
the current custom character encoding name or NULL if no
custom character encoding has been set. |
void webkit_web_view_set_custom_charset (WebKitWebView *web_view
,const gchar *charset
);
Sets the current custom character encoding override of web_view
. The custom
character encoding will override any text encoding detected via HTTP headers or
META tags. Calling this method will stop any current load operation and reload the
current page. Setting the custom character encoding to NULL
removes the character
encoding override.
|
a WebKitWebView |
|
a character encoding name or NULL . [allow-none]
|
WebKitBackForwardList * webkit_web_view_get_back_forward_list
(WebKitWebView *web_view
);
Obtains the WebKitBackForwardList associated with the given WebKitWebView. The WebKitBackForwardList is owned by the WebKitWebView.
|
a WebKitWebView |
Returns : |
the WebKitBackForwardList. [transfer none] |
void webkit_web_view_go_to_back_forward_list_item (WebKitWebView *web_view
,WebKitBackForwardListItem *list_item
);
Loads the specific history item list_item
.
You can monitor the load operation by connecting to
"load-changed" signal.
|
a WebKitWebView |
|
a WebKitBackForwardListItem |
const gchar * webkit_web_view_get_uri (WebKitWebView *web_view
);
Returns the current active URI of web_view
. The active URI might change during
a load operation:
When nothing has been loaded yet on web_view
the active URI is NULL
.
When a new load operation starts the active URI is the requested URI:
If the load operation was started by webkit_web_view_load_uri()
,
the requested URI is the given one.
If the load operation was started by webkit_web_view_load_html()
,
the requested URI is "about:blank".
If the load operation was started by webkit_web_view_go_back()
or
webkit_web_view_go_forward()
, the requested URI is the original URI
of the previous/next item in the WebKitBackForwardList of web_view
.
If the load operation was started by
webkit_web_view_go_to_back_forward_list_item()
, the requested URI
is the opriginal URI of the given WebKitBackForwardListItem.
If there is a server redirection during the load operation,
the active URI is the redirected URI. When the signal
"load-changed" is emitted with WEBKIT_LOAD_REDIRECTED
event, the active URI is already updated to the redirected URI.
When the signal "load-changed" is emitted
with WEBKIT_LOAD_COMMITTED
event, the active URI is the final
one and it will not change unless a new load operation is started
or a navigation action within the same page is performed.
When the page content is replaced using webkit_web_view_replace_content()
,
the active URI is the content_uri provided.
You can monitor the active URI by connecting to the notify::uri
signal of web_view
.
|
a WebKitWebView |
Returns : |
the current active URI of web_view or NULL
if nothing has been loaded yet. |
void webkit_web_view_set_settings (WebKitWebView *web_view
,WebKitSettings *settings
);
Sets the WebKitSettings to be applied to web_view
. The
existing WebKitSettings of web_view
will be replaced by
settings
. New settings are applied immediately on web_view
.
The same WebKitSettings object can be shared
by multiple WebKitWebViews.
|
a WebKitWebView |
|
a WebKitSettings |
WebKitSettings * webkit_web_view_get_settings (WebKitWebView *web_view
);
Gets the WebKitSettings currently applied to web_view
.
If no other WebKitSettings have been explicitly applied to
web_view
with webkit_web_view_set_settings()
, the default
WebKitSettings will be returned. This method always returns
a valid WebKitSettings object.
To modify any of the web_view
settings, you can either create
a new WebKitSettings object with webkit_settings_new()
, setting
the desired preferences, and then replace the existing web_view
settings with webkit_web_view_set_settings()
or get the existing
web_view
settings and update it directly. WebKitSettings objects
can be shared by multiple WebKitWebViews, so modifying
the settings of a WebKitWebView would affect other
WebKitWebViews using the same WebKitSettings.
|
a WebKitWebView |
Returns : |
the WebKitSettings attached to web_view . [transfer none]
|
WebKitWindowProperties * webkit_web_view_get_window_properties
(WebKitWebView *web_view
);
Get the WebKitWindowProperties object containing the properties
that the window containing web_view
should have.
|
a WebKitWebView |
Returns : |
the WebKitWindowProperties of web_view . [transfer none]
|
void webkit_web_view_set_zoom_level (WebKitWebView *web_view
,gdouble zoom_level
);
Set the zoom level of web_view
, i.e. the factor by which the
view contents are scaled with respect to their original size.
|
a WebKitWebView |
|
the zoom level |
gdouble webkit_web_view_get_zoom_level (WebKitWebView *web_view
);
Get the zoom level of web_view
, i.e. the factor by which the
view contents are scaled with respect to their original size.
|
a WebKitWebView |
Returns : |
the current zoom level of web_view
|
void webkit_web_view_can_execute_editing_command (WebKitWebView *web_view
,const gchar *command
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Asynchronously execute the given editing command.
When the operation is finished, callback
will be called. You can then call
webkit_web_view_can_execute_editing_command_finish()
to get the result of the operation.
|
a WebKitWebView |
|
the command to check |
|
a GCancellable or NULL to ignore. [allow-none]
|
|
a GAsyncReadyCallback to call when the request is satisfied. [scope async] |
|
the data to pass to callback function. [closure] |
gboolean webkit_web_view_can_execute_editing_command_finish (WebKitWebView *web_view
,GAsyncResult *result
,GError **error
);
Finish an asynchronous operation started with webkit_web_view_can_execute_editing_command()
.
|
a WebKitWebView |
|
a GAsyncResult |
|
return location for error or NULL to ignore |
Returns : |
TRUE if the editing command can be executed or FALSE otherwise |
void webkit_web_view_execute_editing_command (WebKitWebView *web_view
,const gchar *command
);
Request to execute the given command
for web_view
. You can use
webkit_web_view_can_execute_editing_command()
to check whether
it's possible to execute the command.
|
a WebKitWebView |
|
the command to execute |
WebKitFindController * webkit_web_view_get_find_controller
(WebKitWebView *web_view
);
Gets the WebKitFindController that will allow the caller to query the WebKitWebView for the text to look for.
|
the WebKitWebView |
Returns : |
the WebKitFindController associated to this particular WebKitWebView. [transfer none] |
WebKitWebInspector * webkit_web_view_get_inspector (WebKitWebView *web_view
);
Get the WebKitWebInspector associated to web_view
|
a WebKitWebView |
Returns : |
the WebKitWebInspector of web_view . [transfer none]
|
JSGlobalContextRef webkit_web_view_get_javascript_global_context
(WebKitWebView *web_view
);
Get the global JavaScript context used by web_view
to deserialize the
result values of scripts executed with webkit_web_view_run_javascript()
.
|
a WebKitWebView |
Returns : |
the JSGlobalContextRef used by web_view to deserialize
the result values of scripts. |
void webkit_web_view_run_javascript (WebKitWebView *web_view
,const gchar *script
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Asynchronously run script
in the context of the current page in web_view
.
When the operation is finished, callback
will be called. You can then call
webkit_web_view_run_javascript_finish()
to get the result of the operation.
|
a WebKitWebView |
|
the script to run |
|
a GCancellable or NULL to ignore. [allow-none]
|
|
a GAsyncReadyCallback to call when the script finished. [scope async] |
|
the data to pass to callback function. [closure] |
WebKitJavascriptResult * webkit_web_view_run_javascript_finish (WebKitWebView *web_view
,GAsyncResult *result
,GError **error
);
Finish an asynchronous operation started with webkit_web_view_run_javascript()
.
This is an example of using webkit_web_view_run_javascript()
with a script returning
a string:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
static void web_view_javascript_finished (GObject *object, GAsyncResult *result, gpointer user_data) { WebKitJavascriptResult *js_result; JSValueRef value; JSGlobalContextRef context; GError *error = NULL; js_result = webkit_web_view_run_javascript_finish (WEBKIT_WEB_VIEW (object), result, &error); if (!js_result) { g_warning ("Error running javascript: %s", error->message); g_error_free (error); return; } context = webkit_javascript_result_get_global_context (js_result); value = webkit_javascript_result_get_value (js_result); if (JSValueIsString (context, value)) { JSStringRef js_str_value; gchar *str_value; gsize str_length; js_str_value = JSValueToStringCopy (context, value, NULL); str_length = JSStringGetMaximumUTF8CStringSize (js_str_value); str_value = (gchar *)g_malloc (str_length); JSStringGetUTF8CString (js_str_value, str_value, str_length); JSStringRelease (js_str_value); g_print ("Script result: %s\n", str_value); g_free (str_value); } else { g_warning ("Error running javascript: unexpected return value"); } webkit_javascript_result_unref (js_result); } static void web_view_get_link_url (WebKitWebView *web_view, const gchar *link_id) { gchar *script; script = g_strdup_printf ("window.document.getElementById('%s').href;", link_id); webkit_web_view_run_javascript (web_view, script, NULL, web_view_javascript_finished, NULL); g_free (script); } |
|
a WebKitWebView |
|
a GAsyncResult |
|
return location for error or NULL to ignore |
Returns : |
a WebKitJavascriptResult with the result of the last executed statement in script
or NULL in case of error. [transfer full]
|
gboolean webkit_web_view_can_show_mime_type (WebKitWebView *web_view
,const gchar *mime_type
);
Whether or not a MIME type can be displayed in web_view
.
|
a WebKitWebView |
|
a MIME type |
Returns : |
TRUE if the MIME type mime_type can be displayed or FALSE otherwise |
WebKitJavascriptResult * webkit_javascript_result_ref (WebKitJavascriptResult *js_result
);
Atomically increments the reference count of js_result
by one. This
function is MT-safe and may be called from any thread.
|
a WebKitJavascriptResult |
Returns : |
The passed in WebKitJavascriptResult |
void webkit_javascript_result_unref (WebKitJavascriptResult *js_result
);
Atomically decrements the reference count of js_result
by one. If the
reference count drops to 0, all memory allocated by the WebKitJavascriptResult is
released. This function is MT-safe and may be called from any
thread.
|
a WebKitJavascriptResult |
JSGlobalContextRef webkit_javascript_result_get_global_context
(WebKitJavascriptResult *js_result
);
Get the global Javascript context that should be used with the
JSValueRef
returned by webkit_javascript_result_get_value()
.
|
a WebKitJavascriptResult |
Returns : |
the JSGlobalContextRef for the WebKitJavascriptResult
|
JSValueRef webkit_javascript_result_get_value (WebKitJavascriptResult *js_result
);
Get the value of js_result
. You should use the JSGlobalContextRef
returned by webkit_javascript_result_get_global_context()
to use the JSValueRef
.
|
a WebKitJavascriptResult |
Returns : |
the JSValueRef of the WebKitJavascriptResult
|
typedef enum { WEBKIT_SCRIPT_DIALOG_ALERT, WEBKIT_SCRIPT_DIALOG_CONFIRM, WEBKIT_SCRIPT_DIALOG_PROMPT } WebKitScriptDialogType;
Enum values used for determining the type of WebKitScriptDialog
WebKitScriptDialogType webkit_script_dialog_get_dialog_type
(WebKitScriptDialog *dialog
);
Get the dialog type of a WebKitScriptDialog.
|
a WebKitScriptDialog |
Returns : |
the WebKitScriptDialogType of dialog
|
const gchar * webkit_script_dialog_get_message (WebKitScriptDialog *dialog
);
Get the message of a WebKitScriptDialog.
|
a WebKitScriptDialog |
Returns : |
the message of dialog . |
void webkit_script_dialog_confirm_set_confirmed (WebKitScriptDialog *dialog
,gboolean confirmed
);
This method is used for WEBKIT_SCRIPT_DIALOG_CONFIRM
dialogs when
"script-dialog" signal is emitted to set whether the user
confirmed the dialog or not. The default implementation of "script-dialog"
signal sets TRUE
when the OK button is clicked and FALSE
otherwise.
It's an error to use this method with a WebKitScriptDialog that is not of type
WEBKIT_SCRIPT_DIALOG_CONFIRM
.
|
a WebKitScriptDialog |
|
whether user confirmed the dialog |
const gchar * webkit_script_dialog_prompt_get_default_text
(WebKitScriptDialog *dialog
);
Get the default text of a WebKitScriptDialog of type WEBKIT_SCRIPT_DIALOG_PROMPT
.
It's an error to use this method with a WebKitScriptDialog that is not of type
WEBKIT_SCRIPT_DIALOG_PROMPT
.
|
a WebKitScriptDialog |
Returns : |
the default text of dialog
|
void webkit_script_dialog_prompt_set_text (WebKitScriptDialog *dialog
,const gchar *text
);
This method is used for WEBKIT_SCRIPT_DIALOG_PROMPT
dialogs when
"script-dialog" signal is emitted to set the text
entered by the user. The default implementation of "script-dialog"
signal sets the text of the entry form when OK button is clicked, otherwise NULL
is set.
It's an error to use this method with a WebKitScriptDialog that is not of type
WEBKIT_SCRIPT_DIALOG_PROMPT
.
|
a WebKitScriptDialog |
|
the text to set |
WebKitWebResource * webkit_web_view_get_main_resource (WebKitWebView *web_view
);
Return the main resource of web_view
.
See also webkit_web_view_get_subresources()
:
|
a WebKitWebView |
Returns : |
the main WebKitWebResource of the view
or NULL if nothing has been loaded. [transfer none]
|
GList * webkit_web_view_get_subresources (WebKitWebView *web_view
);
Return the list of subresources of web_view
.
See also webkit_web_view_get_main_resource()
.
|
a WebKitWebView |
Returns : |
a list of WebKitWebResource. [element-type WebKitWebResource][transfer container] |
"estimated-load-progress"
property"estimated-load-progress" gdouble : Read
An estimate of the percent completion for the current loading operation. This value will range from 0.0 to 1.0 and, once a load completes, will remain at 1.0 until a new load starts, at which point it will be reset to 0.0. The value is an estimate based on the total number of bytes expected to be received for a document, including all its possible subresources and child documents.
Allowed values: [0,1]
Default value: 0
"title"
property"title" gchar* : Read
The main frame document title of this WebKitWebView. If
the title has not been received yet, it will be NULL
.
Default value: NULL
"uri"
property"uri" gchar* : Read
The current active URI of the WebKitWebView.
See webkit_web_view_get_uri()
for more details.
Default value: NULL
"web-context"
property"web-context" WebKitWebContext* : Read / Write / Construct Only
The WebKitWebContext of the view.
"zoom-level"
property"zoom-level" gdouble : Read / Write
The zoom level of the WebKitWebView content.
See webkit_web_view_set_zoom_level()
for more details.
Allowed values: >= 0
Default value: 1
"close"
signalvoid user_function (WebKitWebView *webView,
gpointer user_data) : Run Last
Emitted when closing a WebKitWebView is requested. This occurs when a
call is made from JavaScript's window.close
function.
It is the owner's responsibility to handle this signal to hide or
destroy the WebKitWebView, if necessary.
|
the WebKitWebView on which the signal is emitted |
|
user data set when the signal handler was connected. |
"context-menu"
signalgboolean user_function (WebKitWebView *web_view,
WebKitContextMenu *context_menu,
GdkEvent *event,
WebKitHitTestResult *hit_test_result,
gpointer user_data) : Run Last
Emmited when a context menu is about to be displayed to give the application a chance to customize the proposed menu, prevent the menu from being displayed or build its own context menu.
To customize the proposed menu you can use webkit_context_menu_prepend()
,
webkit_context_menu_append()
or webkit_context_menu_insert()
to add new
WebKitContextMenuItems to context_menu
, webkit_context_menu_move_item()
to reorder existing items, or webkit_context_menu_remove()
to remove an
existing item. The signal handler should return FALSE
, and the menu represented
by context_menu
will be shown.
To prevent the menu from being displayed you can just connect to this signal
and return TRUE
so that the proposed menu will not be shown.
To build your own menu, you can remove all items from the proposed menu with
webkit_context_menu_remove_all()
, add your own items and return FALSE
so
that the menu will be shown. You can also ignore the proposed WebKitContextMenu,
build your own GtkMenu and return TRUE
to prevent the proposed menu from being shown.
If you just want the default menu to be shown always, simply don't connect to this signal because showing the proposed context menu is the default behaviour.
If the signal handler returns FALSE
the context menu represented by context_menu
will be shown, if it return TRUE
the context menu will not be shown.
The proposed WebKitContextMenu passed in context_menu
argument is only valid
during the signal emission.
|
the WebKitWebView on which the signal is emitted |
|
the proposed WebKitContextMenu |
|
the GdkEvent that triggered the context menu |
|
a WebKitHitTestResult |
|
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. |
"create"
signalGtkWidget* user_function (WebKitWebView *web_view,
gpointer user_data) : Run Last
Emitted when the creation of a new WebKitWebView is requested. If this signal is handled the signal handler should return the newly created WebKitWebView.
The new WebKitWebView should not be displayed to the user until the "ready-to-show" signal is emitted.
|
the WebKitWebView on which the signal is emitted |
|
user data set when the signal handler was connected. |
Returns : |
a newly allocated WebKitWebView widget
or NULL to propagate the event further. [transfer full]
|
"decide-policy"
signalgboolean user_function (WebKitWebView *web_view,
WebKitPolicyDecision *decision,
WebKitPolicyDecisionType decision_type,
gpointer user_data) : Run Last
This signal is emitted when WebKit is requesting the client to decide a policy
decision, such as whether to navigate to a page, open a new window or whether or
not to download a resource. The WebKitNavigationPolicyDecision passed in the
decision
argument is a generic type, but should be casted to a more
specific type when making the decision. For example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
static gboolean decide_policy_cb (WebKitWebView *web_view, WebKitPolicyDecision *decision, WebKitPolicyDecisionType type) { switch (type) { case WEBKIT_POLICY_DECISION_TYPE_NAVIGATION_ACTION: WebKitNavigationPolicyDecision *navigation_decision = WEBKIT_NAVIGATION_POLICY_DECISION (decision); /* Make a policy decision here. */ break; case WEBKIT_POLICY_DECISION_TYPE_NEW_WINDOW_ACTION: WebKitNavigationPolicyDecision *navigation_decision = WEBKIT_NAVIGATION_POLICY_DECISION (decision); /* Make a policy decision here. */ break; case WEBKIT_POLICY_DECISION_TYPE_RESPONSE: WebKitResponsePolicyDecision *response = WEBKIT_RESPONSE_POLICY_DECISION (decision); /* Make a policy decision here. */ break; default: /* Making no decision results in webkit_policy_decision_use(). */ return FALSE; } return TRUE; } |
It is possible to make policy decision asynchronously, by simply calling g_object_ref()
on the decision
argument and returning TRUE
to block the default signal handler.
If the last reference is removed on a WebKitPolicyDecision and no decision has been
made explicitly, webkit_policy_decision_use()
will be the default policy decision. The
default signal handler will simply call webkit_policy_decision_use()
. Only the first
policy decision chosen for a given WebKitPolicyDecision will have any affect.
|
the WebKitWebView on which the signal is emitted |
|
the WebKitPolicyDecision |
|
a WebKitPolicyDecisionType denoting the type of decision
|
|
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. |
"enter-fullscreen"
signalgboolean user_function (WebKitWebView *web_view,
gpointer user_data) : Run Last
Emitted when JavaScript code calls
element.webkitRequestFullScreen
. If the
signal is not handled the WebKitWebView will proceed to full screen
its top level window. This signal can be used by client code to
request permission to the user prior doing the full screen
transition and eventually prepare the top-level window
(e.g. hide some widgets that would otherwise be part of the
full screen window).
|
the WebKitWebView on which the signal is emitted. |
|
user data set when the signal handler was connected. |
Returns : |
TRUE to stop other handlers from being invoked for the event.
FALSE to continue emission of the event. |
"leave-fullscreen"
signalgboolean user_function (WebKitWebView *web_view,
gpointer user_data) : Run Last
Emitted when the WebKitWebView is about to restore its top level window out of its full screen state. This signal can be used by client code to restore widgets hidden during the "enter-fullscreen" stage for instance.
|
the WebKitWebView on which the signal is emitted. |
|
user data set when the signal handler was connected. |
Returns : |
TRUE to stop other handlers from being invoked for the event.
FALSE to continue emission of the event. |
"load-changed"
signalvoid user_function (WebKitWebView *web_view,
WebKitLoadEvent load_event,
gpointer user_data) : Run Last
Emitted when the a load operation in web_view
changes.
The signal is always emitted with WEBKIT_LOAD_STARTED
when a
new load request is made and WEBKIT_LOAD_FINISHED
when the load
finishes successfully or due to an error. When the ongoing load
operation fails "load-failed" signal is emitted
before "load-changed" is emitted with
WEBKIT_LOAD_FINISHED
.
If a redirection is received from the server, this signal is emitted
with WEBKIT_LOAD_REDIRECTED
after the initial emission with
WEBKIT_LOAD_STARTED
and before WEBKIT_LOAD_COMMITTED
.
When the page content starts arriving the signal is emitted with
WEBKIT_LOAD_COMMITTED
event.
You can handle this signal and use a switch to track any ongoing load operation.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
static void web_view_load_changed (WebKitWebView *web_view, WebKitLoadEvent load_event, gpointer user_data) { switch (load_event) { case WEBKIT_LOAD_STARTED: /* New load, we have now a provisional URI */ provisional_uri = webkit_web_view_get_uri (web_view); /* Here we could start a spinner or update the * location bar with the provisional URI */ break; case WEBKIT_LOAD_REDIRECTED: redirected_uri = webkit_web_view_get_uri (web_view); break; case WEBKIT_LOAD_COMMITTED: /* The load is being performed. Current URI is * the final one and it won't change unless a new * load is requested or a navigation within the * same page is performed */ uri = webkit_web_view_get_uri (web_view); break; case WEBKIT_LOAD_FINISHED: /* Load finished, we can now stop the spinner */ break; } } |
|
the WebKitWebView on which the signal is emitted |
|
the WebKitLoadEvent |
|
user data set when the signal handler was connected. |
"load-failed"
signalgboolean user_function (WebKitWebView *web_view,
WebKitLoadEvent load_event,
gchar *failing_uri,
gpointer error,
gpointer user_data) : Run Last
Emitted when an error occurs during a load operation.
If the error happened when starting to load data for a page
load_event
will be WEBKIT_LOAD_STARTED
. If it happened while
loading a committed data source load_event
will be WEBKIT_LOAD_COMMITTED
.
Since a load error causes the load operation to finish, the signal
WebKitWebView::load-changed will always be emitted with
WEBKIT_LOAD_FINISHED
event right after this one.
By default, if the signal is not handled, a stock error page will be displayed. You need to handle the signal if you want to provide your own error page.
|
the WebKitWebView on which the signal is emitted |
|
the WebKitLoadEvent of the load operation |
|
the URI that failed to load |
|
the GError that was triggered |
|
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. |
"mouse-target-changed"
signalvoid user_function (WebKitWebView *web_view,
WebKitHitTestResult *hit_test_result,
guint modifiers,
gpointer user_data) : Run Last
This signal is emitted when the mouse cursor moves over an
element such as a link, image or a media element. To determine
what type of element the mouse cursor is over, a Hit Test is performed
on the current mouse coordinates and the result is passed in the
hit_test_result
argument. The modifiers
argument is a bitmask of
GdkModifierType flags indicating the state of modifier keys.
The signal is emitted again when the mouse is moved out of the
current element with a new hit_test_result
.
|
the WebKitWebView on which the signal is emitted |
|
a WebKitHitTestResult |
|
a bitmask of GdkModifierType |
|
user data set when the signal handler was connected. |
"permission-request"
signalgboolean user_function (WebKitWebView *web_view,
WebKitPermissionRequest *request,
gpointer user_data) : Run Last
This signal is emitted when WebKit is requesting the client to decide about a permission request, such as allowing the browser to switch to fullscreen mode, sharing its location or similar operations.
A possible way to use this signal could be through a dialog allowing the user decide what to do with the request:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
static gboolean permission_request_cb (WebKitWebView *web_view, WebKitPermissionRequest *request, GtkWindow *parent_window) { GtkWidget *dialog = gtk_message_dialog_new (parent_window, GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, "Allow Permission Request?"); gtk_widget_show (dialog); gint result = gtk_dialog_run (GTK_DIALOG (dialog)); switch (result) { case GTK_RESPONSE_YES: webkit_permission_request_allow (request); break; default: webkit_permission_request_deny (request); break; } gtk_widget_destroy (dialog); return TRUE; } |
It is possible to handle permission requests asynchronously, by
simply calling g_object_ref()
on the request
argument and
returning TRUE
to block the default signal handler. If the
last reference is removed on a WebKitPermissionRequest and the
request has not been handled, webkit_permission_request_deny()
will be the default action.
By default, if the signal is not handled,
webkit_permission_request_deny()
will be called over the
WebKitPermissionRequest.
|
the WebKitWebView on which the signal is emitted |
|
the WebKitPermissionRequest |
|
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. |
"print-requested"
signalgboolean user_function (WebKitWebView *web_view,
WebKitPrintOperation *print_operation,
gpointer user_data) : Run Last
Emitted when printing is requested on web_view
, usually by a javascript call,
before the print dialog is shown. This signal can be used to set the initial
print settings and page setup of print_operation
to be used as default values in
the print dialog. You can call webkit_print_operation_set_print_settings()
and
webkit_print_operation_set_page_setup()
and then return FALSE
to propagate the
event so that the print dialog is shown.
You can connect to this signal and return TRUE
to cancel the print operation
or implement your own print dialog.
|
the WebKitWebView on which the signal is emitted |
|
the WebKitPrintOperation that will handle the print request |
|
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. |
"ready-to-show"
signalvoid user_function (WebKitWebView *web_view,
gpointer user_data) : Run Last
Emitted after "create" on the newly created WebKitWebView
when it should be displayed to the user. When this signal is emitted
all the information about how the window should look, including
size, position, whether the location, status and scrollbars
should be displayed, is already set on the WebKitWindowProperties
of web_view
. See also webkit_web_view_get_window_properties()
.
|
the WebKitWebView on which the signal is emitted |
|
user data set when the signal handler was connected. |
"resource-load-started"
signalvoid user_function (WebKitWebView *web_view,
WebKitWebResource *resource,
WebKitURIRequest *request,
gpointer user_data) : Run Last
Emitted when a new resource is going to be loaded. The request
parameter
contains the WebKitURIRequest that will be sent to the server.
You can monitor the load operation by connecting to the different signals
of resource
.
|
the WebKitWebView on which the signal is emitted |
|
a WebKitWebResource |
|
a WebKitURIRequest |
|
user data set when the signal handler was connected. |
"run-as-modal"
signalvoid user_function (WebKitWebView *web_view,
gpointer user_data) : Run Last
Emitted after "ready-to-show" on the newly
created WebKitWebView when JavaScript code calls
window.showModalDialog
. The purpose of
this signal is to allow the client application to prepare the
new view to behave as modal. Once the signal is emitted a new
mainloop will be run to block user interaction in the parent
WebKitWebView until the new dialog is closed.
|
the WebKitWebView on which the signal is emitted |
|
user data set when the signal handler was connected. |
"run-file-chooser"
signalgboolean user_function (WebKitWebView *web_view,
WebKitFileChooserRequest *request,
gpointer user_data) : Run Last
This signal is emitted when the user interacts with a <input
type='file' /> HTML element, requesting from WebKit to show
a dialog to select one or more files to be uploaded. To let the
application know the details of the file chooser, as well as to
allow the client application to either cancel the request or
perform an actual selection of files, the signal will pass an
instance of the WebKitFileChooserRequest in the request
argument.
The default signal handler will asynchronously run a regular GtkFileChooserDialog for the user to interact with.
|
the WebKitWebView on which the signal is emitted |
|
a WebKitFileChooserRequest |
|
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. |
"script-dialog"
signalgboolean user_function (WebKitWebView *web_view,
WebKitScriptDialog *dialog,
gpointer user_data) : Run Last
Emitted when JavaScript code calls window.alert
,
window.confirm
or window.prompt
.
The dialog
parameter should be used to build the dialog.
If the signal is not handled a different dialog will be built and shown depending
on the dialog type:
WEBKIT_SCRIPT_DIALOG_ALERT
: message dialog with a single Close button.
WEBKIT_SCRIPT_DIALOG_CONFIRM
: message dialog with OK and Cancel buttons.
WEBKIT_SCRIPT_DIALOG_PROMPT
: message dialog with OK and Cancel buttons and
a text entry with the default text.
|
the WebKitWebView on which the signal is emitted |
|
the WebKitScriptDialog to show |
|
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. |