## The main frame document title of this #WebKitWebView. If the title has not been received yet, it will be %NULL. The main frame document title of this #WebKitWebView. If the title has not been received yet, it will be %NULL. — The central class of the WPE WebKit and WebKitGTK APIs |

## Functions

GtkWidget * | webkit_web_view_new ()
GtkWidget * | webkit_web_view_new_with_context ()
GtkWidget * | webkit_web_view_new_with_related_view ()
GtkWidget * | webkit_web_view_new_with_settings ()
GtkWidget * | webkit_web_view_new_with_user_content_manager ()
gboolean | webkit_web_view_is_ephemeral ()
gboolean | webkit_web_view_is_controlled_by_automation ()
WebKitAutomationBrowsingContextPresentation | webkit_web_view_get_automation_presentation_type ()
WebKitWebContext * | webkit_web_view_get_context ()
WebKitUserContentManager * | webkit_web_view_get_user_content_manager ()
WebKitWebsiteDataManager * | webkit_web_view_get_website_data_manager ()
void | webkit_web_view_try_close ()
void | webkit_web_view_load_uri ()
void | webkit_web_view_load_html ()
void | webkit_web_view_load_alternate_html ()
void | webkit_web_view_load_plain_text ()
void | webkit_web_view_load_bytes ()
void | webkit_web_view_load_request ()
gboolean | webkit_web_view_can_go_back ()
void | webkit_web_view_go_back ()
gboolean | webkit_web_view_can_go_forward ()
void | webkit_web_view_go_forward ()
const gchar * | webkit_web_view_get_title ()
guint64 | webkit_web_view_get_page_id ()
void | webkit_web_view_reload ()
void | webkit_web_view_reload_bypass_cache ()
void | webkit_web_view_stop_loading ()
gboolean | webkit_web_view_is_loading ()
gboolean | webkit_web_view_is_playing_audio ()
void | webkit_web_view_set_is_muted ()
gboolean | webkit_web_view_get_is_muted ()
gdouble | webkit_web_view_get_estimated_load_progress ()
const gchar * | webkit_web_view_get_custom_charset ()
void | webkit_web_view_set_custom_charset ()
WebKitBackForwardList * | webkit_web_view_get_back_forward_list ()
void | webkit_web_view_go_to_back_forward_list_item ()
const gchar * | webkit_web_view_get_uri ()
cairo_surface_t * | webkit_web_view_get_favicon ()
void | webkit_web_view_set_settings ()
WebKitSettings * | webkit_web_view_get_settings ()
WebKitWindowProperties * | webkit_web_view_get_window_properties ()
void | webkit_web_view_set_zoom_level ()
gdouble | webkit_web_view_get_zoom_level ()
void | webkit_web_view_can_execute_editing_command ()
gboolean | webkit_web_view_can_execute_editing_command_finish ()
void | webkit_web_view_execute_editing_command ()
void | webkit_web_view_execute_editing_command_with_argument ()
WebKitFindController * | webkit_web_view_get_find_controller ()
WebKitWebInspector * | webkit_web_view_get_inspector ()
JSGlobalContextRef | webkit_web_view_get_javascript_global_context ()
void | webkit_web_view_run_javascript ()
WebKitJavascriptResult * | webkit_web_view_run_javascript_finish ()
void | webkit_web_view_run_javascript_in_world ()
WebKitJavascriptResult * | webkit_web_view_run_javascript_in_world_finish ()
void | webkit_web_view_run_javascript_from_gresource ()
WebKitJavascriptResult * | webkit_web_view_run_javascript_from_gresource_finish ()
gboolean | webkit_web_view_can_show_mime_type ()
void | webkit_web_view_save ()
GInputStream * | webkit_web_view_save_finish ()
void | webkit_web_view_save_to_file ()
gboolean | webkit_web_view_save_to_file_finish ()
WebKitDownload * | webkit_web_view_download_uri ()
gboolean | webkit_web_view_get_tls_info ()
void | webkit_web_view_get_snapshot ()
cairo_surface_t * | webkit_web_view_get_snapshot_finish ()
void | webkit_web_view_set_background_color ()
void | webkit_web_view_get_background_color ()
void | webkit_web_view_set_editable ()
gboolean | webkit_web_view_is_editable ()
WebKitEditorState * | webkit_web_view_get_editor_state ()
WebKitWebViewSessionState * | webkit_web_view_get_session_state ()
void | webkit_web_view_restore_session_state ()
WebKitWebResource * | webkit_web_view_get_main_resource ()
void | webkit_web_view_send_message_to_page ()
WebKitUserMessage * | webkit_web_view_send_message_to_page_finish ()
void | webkit_web_view_set_input_method_context ()
WebKitInputMethodContext * | webkit_web_view_get_input_method_context ()
WebKitWebsitePolicies * | webkit_web_view_get_website_policies ()
gboolean | webkit_web_view_get_is_web_process_responsive ()
void | webkit_web_view_terminate_web_process ()
void | webkit_web_view_set_cors_allowlist ()
WebKitMediaCaptureState | webkit_web_view_get_camera_capture_state ()
WebKitMediaCaptureState | webkit_web_view_get_microphone_capture_state ()
void | webkit_web_view_set_camera_capture_state ()
void | webkit_web_view_set_microphone_capture_state ()
WebKitMediaCaptureState | webkit_web_view_get_display_capture_state ()
void | webkit_web_view_set_display_capture_state ()
WebKitJavascriptResult * | webkit_javascript_result_ref ()
void | webkit_javascript_result_unref ()
JSGlobalContextRef | webkit_javascript_result_get_global_context ()
JSValueRef | webkit_javascript_result_get_value ()
JSCValue * | webkit_javascript_result_get_js_value ()
WebKitScriptDialog * | webkit_script_dialog_ref ()
void | webkit_script_dialog_unref ()
WebKitScriptDialogType | webkit_script_dialog_get_dialog_type ()
const gchar * | webkit_script_dialog_get_message ()
void | webkit_script_dialog_confirm_set_confirmed ()
const gchar * | webkit_script_dialog_prompt_get_default_text ()
void | webkit_script_dialog_prompt_set_text ()
void | webkit_script_dialog_close ()
WebKitWebViewSessionState * | webkit_web_view_session_state_new ()
WebKitWebViewSessionState * | webkit_web_view_session_state_ref ()
void | webkit_web_view_session_state_unref ()
GBytes * | webkit_web_view_session_state_serialize ()

## Properties

WebKitAutomationBrowsingContextPresentation | automation-presentation-type | Read / Write / Construct Only
WebKitMediaCaptureState | camera-capture-state | Read / Write
WebKitMediaCaptureState | display-capture-state | Read / Write
gboolean | editable | Read / Write
double | estimated-load-progress | Read
gpointer | favicon | Read
gboolean | is-controlled-by-automation | Read / Write / Construct Only
gboolean | is-ephemeral | Read / Write / Construct Only
gboolean | is-loading | Read
gboolean | is-muted | Read / Write
gboolean | is-playing-audio | Read
gboolean | is-web-process-responsive | Read
WebKitMediaCaptureState | microphone-capture-state | Read / Write
guint64 | page-id | Read
WebKitWebView * | related-view | Write / Construct Only
WebKitSettings * | settings | Write / Construct
char * | title | Read
char * | uri | Read
WebKitUserContentManager * | user-content-manager | Read / Write / Construct Only
WebKitWebContext * | web-context | Read / Write / Construct Only
WebKitWebsitePolicies * | website-policies | Read / Write / Construct Only
double | zoom-level | Read / Write

## Signals

gboolean | authenticate | Run Last
void | close | Run Last
gboolean | context-menu | Run Last
void | context-menu-dismissed | Run Last
GtkWidget* | create | Run Last
gboolean | decide-policy | Run Last
gboolean | enter-fullscreen | Run Last
void | insecure-content-detected | Run Last
gboolean | leave-fullscreen | Run Last
void | load-changed | Run Last
gboolean | load-failed | Run Last
gboolean | load-failed-with-tls-errors | Run Last
void | mouse-target-changed | Run Last
gboolean | permission-request | Run Last
gboolean | print | Run Last
void | ready-to-show | Run Last
void | resource-load-started | Run Last
void | run-as-modal | Run Last
gboolean | run-color-chooser | Run Last
gboolean | run-file-chooser | Run Last
gboolean | script-dialog | Run Last
gboolean | show-notification | Run Last
gboolean | show-option-menu | Run Last
void | submit-form | Run Last
gboolean | user-message-received | Run Last
gboolean | web-process-crashed | Run Last
void | web-process-terminated | Run Last

## Types and Values

| WebKitWebView
enum | WebKitLoadEvent
enum | WebKitPolicyDecisionType
enum | WebKitSaveMode
enum | WebKitInsecureContentEvent
enum | WebKitSnapshotOptions
enum | WebKitSnapshotRegion
enum | WebKitWebProcessTerminationReason
enum | WebKitAutoplayPolicy
enum | WebKitMediaCaptureState
#define | WEBKIT_EDITING_COMMAND_CUT
#define | WEBKIT_EDITING_COMMAND_COPY
#define | WEBKIT_EDITING_COMMAND_PASTE
#define | WEBKIT_EDITING_COMMAND_PASTE_AS_PLAIN_TEXT
#define | WEBKIT_EDITING_COMMAND_SELECT_ALL
#define | WEBKIT_EDITING_COMMAND_UNDO
#define | WEBKIT_EDITING_COMMAND_REDO
#define | WEBKIT_EDITING_COMMAND_INSERT_IMAGE
#define | WEBKIT_EDITING_COMMAND_CREATE_LINK
| WebKitJavascriptResult
| WebKitScriptDialog
enum | WebKitScriptDialogType
| WebKitWebViewSessionState

## Object Hierarchy

        GBoxed
        ├── WebKitJavascriptResult
        ├── WebKitScriptDialog
        ╰── WebKitWebViewSessionState
        GEnum
        ├── WebKitAutoplayPolicy
        ├── WebKitInsecureContentEvent
        ├── WebKitLoadEvent
        ├── WebKitMediaCaptureState
        ├── WebKitPolicyDecisionType
        ╰── WebKitWebProcessTerminationReason
        GObject
        ╰── GInitiallyUnowned
            ╰── GtkWidget
                ╰── GtkContainer
                    ╰── WebKitWebViewBase
                        ╰── WebKitWebView

## Implemented Interfaces

WebKitWebView implements AtkImplementorIface and GtkBuildable.

## Description

WebKitWebView is the central class of the WPE WebKit and WebKitGTK APIs. It is responsible for managing the drawing of the content and forwarding of events. You can load any URI into the WebKitWebView or a data string. With WebKitSettings you can control various aspects of the rendering and loading of the content.

Note that in WebKitGTK, WebKitWebView is scrollable by itself, so you don't need to embed it in a GtkScrolledWindow.

## Functions

### webkit_web_view_new ()

    GtkWidget *
    webkit_web_view_new (void);

Creates a new WebKitWebView with the default WebKitWebContext and no WebKitUserContentManager associated with it. See also `webkit_web_view_new_with_context()`, `webkit_web_view_new_with_user_content_manager()`, and `webkit_web_view_new_with_settings()`.

#### Returns

The newly created WebKitWebView widget

### webkit_web_view_new_with_context ()

    GtkWidget *
    webkit_web_view_new_with_context (WebKitWebContext *context);

Creates a new WebKitWebView with the given WebKitWebContext and no WebKitUserContentManager associated with it. See also `webkit_web_view_new_with_user_content_manager()` and `webkit_web_view_new_with_settings()`.

#### Parameters

context | the WebKitWebContext to be used by the WebKitWebView |

#### Returns

The newly created WebKitWebView widget

### webkit_web_view_new_with_related_view ()

    GtkWidget *
    webkit_web_view_new_with_related_view (WebKitWebView *web_view);

Creates a new WebKitWebView sharing the same web process with `web_view` . This method doesn't have any effect when `WEBKIT_PROCESS_MODEL_SHARED_SECONDARY_PROCESS` process model is used, because a single web process is shared for all the web views in the same WebKitWebContext. When using `WEBKIT_PROCESS_MODEL_MULTIPLE_SECONDARY_PROCESSES` process model, this method should always be used when creating the WebKitWebView in the “create” signal. You can also use this method to implement other process models based on `WEBKIT_PROCESS_MODEL_MULTIPLE_SECONDARY_PROCESSES`, like for example, sharing the same web process for all the views in the same security domain.

The newly created WebKitWebView will also have the same WebKitUserContentManager, WebKitSettings, and WebKitWebsitePolicies as `web_view` .

[constructor]

#### Parameters

web_view | the related WebKitWebView |

#### Returns

The newly created WebKitWebView widget.

[transfer full]

Since: 2.4

### webkit_web_view_new_with_settings ()

    GtkWidget *
    webkit_web_view_new_with_settings (WebKitSettings *settings);

Creates a new WebKitWebView with the given WebKitSettings. See also `webkit_web_view_new_with_context()`, and `webkit_web_view_new_with_user_content_manager()`.

#### Parameters

settings | a WebKitSettings |

#### Returns

The newly created WebKitWebView widget

Since: 2.6

### webkit_web_view_new_with_user_content_manager ()

    GtkWidget *
    webkit_web_view_new_with_user_content_manager
                                   (WebKitUserContentManager *user_content_manager);

Creates a new WebKitWebView with the given WebKitUserContentManager. The content loaded in the view may be affected by the content injected in the view by the user content manager.

#### Parameters

user_content_manager | a WebKitUserContentManager. |

#### Returns

The newly created WebKitWebView widget

Since: 2.6

### webkit_web_view_is_ephemeral ()

    gboolean
    webkit_web_view_is_ephemeral (WebKitWebView *web_view);

Get whether a WebKitWebView is ephemeral. To create an ephemeral WebKitWebView you need to use `g_object_new()` and pass is-ephemeral property with `TRUE` value. See “is-ephemeral” for more details. If `web_view` was created with a ephemeral “related-view” or an ephemeral “web-context” it will also be ephemeral.

#### Parameters

web_view | a WebKitWebView |

#### Returns

`TRUE` if `web_view` is ephemeral or `FALSE` otherwise.

Since: 2.16

### webkit_web_view_is_controlled_by_automation ()

    gboolean
    webkit_web_view_is_controlled_by_automation
                                   (WebKitWebView *web_view);

Get whether a WebKitWebView was created with “is-controlled-by-automation” property enabled. Only WebKitWebViews controlled by automation can be used in an automation session.

#### Parameters

web_view | a WebKitWebView |

#### Returns

`TRUE` if `web_view` is controlled by automation, or `FALSE` otherwise.

Since: 2.18

### webkit_web_view_get_automation_presentation_type ()

    WebKitAutomationBrowsingContextPresentation
    webkit_web_view_get_automation_presentation_type
                                   (WebKitWebView *web_view);

Get the presentation type of WebKitWebView when created for automation.

#### Parameters

web_view | a WebKitWebView |

#### Returns

a WebKitAutomationBrowsingContextPresentation.

Since: 2.28

### webkit_web_view_get_context ()

    WebKitWebContext *
    webkit_web_view_get_context (WebKitWebView *web_view);

Gets the web context of `web_view` .

#### Parameters

web_view | a WebKitWebView |

#### Returns

the WebKitWebContext of the view.

[transfer none]

### webkit_web_view_get_user_content_manager ()

    WebKitUserContentManager *
    webkit_web_view_get_user_content_manager
                                   (WebKitWebView *web_view);

Gets the user content manager associated to `web_view` .

#### Parameters

web_view | a WebKitWebView |

#### Returns

the WebKitUserContentManager associated with the view.

[transfer none]

Since: 2.6

### webkit_web_view_get_website_data_manager ()

    WebKitWebsiteDataManager *
    webkit_web_view_get_website_data_manager
                                   (WebKitWebView *web_view);

Get the WebKitWebsiteDataManager associated to `web_view` . If `web_view` is not ephemeral, the returned WebKitWebsiteDataManager will be the same as the WebKitWebsiteDataManager of `web_view` 's WebKitWebContext.

#### Parameters

web_view | a WebKitWebView |

#### Returns

a WebKitWebsiteDataManager.

[transfer none]

Since: 2.16

### webkit_web_view_try_close ()

    void
    webkit_web_view_try_close (WebKitWebView *web_view);

Tries to close the `web_view` . This will fire the onbeforeunload event to ask the user for confirmation to close the page. If there isn't an onbeforeunload event handler or the user confirms to close the page, the “close” signal is emitted, otherwise nothing happens.

#### Parameters

web_view | a WebKitWebView |

Since: 2.12

### webkit_web_view_load_uri ()

    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.

#### Parameters

web_view | a WebKitWebView |
uri | an URI string |

### webkit_web_view_load_html ()

    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.

#### Parameters

web_view | a WebKitWebView |
content | The HTML string to load |
base_uri | The base URI for relative locations or `NULL`. | [allow-none]

### webkit_web_view_load_alternate_html ()

    void
    webkit_web_view_load_alternate_html (WebKitWebView *web_view,
                                         const gchar *content,
                                         const gchar *content_uri,
                                         const gchar *base_uri);

Load the given `content` string for the URI `content_uri` . This allows clients to display page-loading errors in the WebKitWebView itself. When this method is called from “load-failed” signal to show an error page, then the back-forward list is maintained appropriately. For everything else this method works the same way as `webkit_web_view_load_html()`.

#### Parameters

web_view | a WebKitWebView |
content | the new content to display as the main page of the `web_view` |
content_uri | the URI for the alternate page content |
base_uri | the base URI for relative locations or `NULL`. | [allow-none]

### webkit_web_view_load_plain_text ()

    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.

#### Parameters

web_view | a WebKitWebView |
plain_text | The plain text to load |

### webkit_web_view_load_bytes ()

    void
    webkit_web_view_load_bytes (WebKitWebView *web_view,
                                GBytes *bytes,
                                const gchar *mime_type,
                                const gchar *encoding,
                                const gchar *base_uri);

Load the specified `bytes` into `web_view` using the given `mime_type` and `encoding` . When `mime_type` is `NULL`, it defaults to "text/html". When `encoding` is `NULL`, it defaults to "UTF-8". When `base_uri` is `NULL`, it defaults to "about:blank". You can monitor the load operation by connecting to “load-changed” signal.

#### Parameters

web_view | a WebKitWebView |
bytes | input data to load |
mime_type | the MIME type of `bytes` , or `NULL`. | [allow-none]
encoding | the character encoding of `bytes` , or `NULL`. | [allow-none]
base_uri | the base URI for relative locations or `NULL`. | [allow-none]

Since: 2.6

### webkit_web_view_load_request ()

    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.

#### Parameters

web_view | a WebKitWebView |
request | a WebKitURIRequest to load |

### webkit_web_view_can_go_back ()

    gboolean
    webkit_web_view_can_go_back (WebKitWebView *web_view);

Determines whether `web_view` has a previous history item.

#### Parameters

web_view | a WebKitWebView |

#### Returns

`TRUE` if able to move back or `FALSE` otherwise.

### webkit_web_view_go_back ()

    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.

#### Parameters

web_view | a WebKitWebView |

### webkit_web_view_can_go_forward ()

    gboolean
    webkit_web_view_can_go_forward (WebKitWebView *web_view);

Determines whether `web_view` has a next history item.

#### Parameters

web_view | a WebKitWebView |

#### Returns

`TRUE` if able to move forward or `FALSE` otherwise.

### webkit_web_view_go_forward ()

    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.

#### Parameters

web_view | a WebKitWebView |

### webkit_web_view_get_title ()

    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.

#### Parameters

web_view | a WebKitWebView |

#### Returns

The main frame document title of `web_view` .

### webkit_web_view_get_page_id ()

    guint64
    webkit_web_view_get_page_id (WebKitWebView *web_view);

Get the identifier of the WebKitWebPage corresponding to the WebKitWebView

#### Parameters

web_view | a WebKitWebView |

#### Returns

the page ID of `web_view` .

### webkit_web_view_reload ()

    void
    webkit_web_view_reload (WebKitWebView *web_view);

Reloads the current contents of `web_view` . See also `webkit_web_view_reload_bypass_cache()`.

#### Parameters

web_view | a WebKitWebView |

### webkit_web_view_reload_bypass_cache ()

    void
    webkit_web_view_reload_bypass_cache (WebKitWebView *web_view);

Reloads the current contents of `web_view` without using any cached data.

#### Parameters

web_view | a WebKitWebView |

### webkit_web_view_stop_loading ()

    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.

#### Parameters

web_view | a WebKitWebView |

### webkit_web_view_is_loading ()

    gboolean
    webkit_web_view_is_loading (WebKitWebView *web_view);

Gets the value of the “is-loading” property. You can monitor when a WebKitWebView is loading a page by connecting to notify::is-loading signal of `web_view` . This is useful when you are interesting in knowing when the view is loading something but not in the details about the status of the load operation, for example to start a spinner when the view is loading a page and stop it when it finishes.

#### Parameters

web_view | a WebKitWebView |

#### Returns

`TRUE` if `web_view` is loading a page or `FALSE` otherwise.

### webkit_web_view_is_playing_audio ()

    gboolean
    webkit_web_view_is_playing_audio (WebKitWebView *web_view);

Gets the value of the “is-playing-audio” property. You can monitor when a page in a WebKitWebView is playing audio by connecting to the notify::is-playing-audio signal of `web_view` . This is useful when the application wants to provide visual feedback when a page is producing sound.

#### Parameters

web_view | a WebKitWebView |

#### Returns

`TRUE` if a page in `web_view` is playing audio or `FALSE` otherwise.

Since: 2.8

### webkit_web_view_set_is_muted ()

    void
    webkit_web_view_set_is_muted (WebKitWebView *web_view,
                                  gboolean muted);

Sets the mute state of `web_view` .

#### Parameters

web_view | a WebKitWebView |
muted | mute flag |

Since: 2.30

### webkit_web_view_get_is_muted ()

    gboolean
    webkit_web_view_get_is_muted (WebKitWebView *web_view);

Gets the mute state of `web_view` .

#### Parameters

web_view | a WebKitWebView |

#### Returns

`TRUE` if `web_view` audio is muted or `FALSE` is audio is not muted.

Since: 2.30

### webkit_web_view_get_estimated_load_progress ()

    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` .

#### Parameters

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.

### webkit_web_view_get_custom_charset ()

    const gchar *
    webkit_web_view_get_custom_charset (WebKitWebView *web_view);

Returns the current custom character encoding name of `web_view` .

#### Parameters

web_view | a WebKitWebView |

#### Returns

the current custom character encoding name or `NULL` if no custom character encoding has been set.

### webkit_web_view_set_custom_charset ()

    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.

#### Parameters

web_view | a WebKitWebView |
charset | a character encoding name or `NULL`. | [allow-none]

### webkit_web_view_get_back_forward_list ()

    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.

#### Parameters

web_view | a WebKitWebView |

#### Returns

the WebKitBackForwardList.

[transfer none]

### webkit_web_view_go_to_back_forward_list_item ()

    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.

#### Parameters

web_view | a WebKitWebView |
list_item | a WebKitBackForwardListItem |

### webkit_web_view_get_uri ()

    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:

1. When nothing has been loaded yet on `web_view` the active URI is `NULL`.

2. 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_load_alternate_html()`, the requested URI is content URI provided.

   - 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.

3. 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.

4. 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.

You can monitor the active URI by connecting to the notify::uri signal of `web_view` .

#### Parameters

web_view | a WebKitWebView |

#### Returns

the current active URI of `web_view` or `NULL` if nothing has been loaded yet.

### webkit_web_view_get_favicon ()

    cairo_surface_t *
    webkit_web_view_get_favicon (WebKitWebView *web_view);

Returns favicon currently associated to `web_view` , if any. You can connect to notify::favicon signal of `web_view` to be notified when the favicon is available.

#### Parameters

web_view | a WebKitWebView |

#### Returns

a pointer to a cairo_surface_t with the favicon or `NULL` if there's no icon associated with `web_view` .

[transfer none]

### webkit_web_view_set_settings ()

    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.

#### Parameters

web_view | a WebKitWebView |
settings | a WebKitSettings |

### webkit_web_view_get_settings ()

    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.

#### Parameters

web_view | a WebKitWebView |

#### Returns

the WebKitSettings attached to `web_view` .

[transfer none]

### webkit_web_view_get_window_properties ()

    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.

#### Parameters

web_view | a WebKitWebView |

#### Returns

the WebKitWindowProperties of `web_view` .

[transfer none]

### webkit_web_view_set_zoom_level ()

    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.

#### Parameters

web_view | a WebKitWebView |
zoom_level | the zoom level |

### webkit_web_view_get_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.

#### Parameters

web_view | a WebKitWebView |

#### Returns

the current zoom level of `web_view`

### webkit_web_view_can_execute_editing_command ()

    void
    webkit_web_view_can_execute_editing_command
                                   (WebKitWebView *web_view,
                                    const gchar *command,
                                    GCancellable *cancellable,
                                    GAsyncReadyCallback callback,
                                    gpointer user_data);

Asynchronously check if it is possible to 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.

#### Parameters

web_view | a WebKitWebView |
command | the command to check |
cancellable | a GCancellable or `NULL` to ignore. | [allow-none]
callback | a GAsyncReadyCallback to call when the request is satisfied. | [scope async]
user_data | the data to pass to callback function. | [closure]

### webkit_web_view_can_execute_editing_command_finish ()

    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()`.

#### Parameters

web_view | a WebKitWebView |
result | a GAsyncResult |
error | return location for error or `NULL` to ignore |

#### Returns

`TRUE` if the editing command can be executed or `FALSE` otherwise

### webkit_web_view_execute_editing_command ()

    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.

#### Parameters

web_view | a WebKitWebView |
command | the command to execute |

### webkit_web_view_execute_editing_command_with_argument ()

    void
    webkit_web_view_execute_editing_command_with_argument
                                   (WebKitWebView *web_view,
                                    const char *command,
                                    const char *argument);

Request to execute the given `command` with `argument` for `web_view` . You can use `webkit_web_view_can_execute_editing_command()` to check whether it's possible to execute the command.

#### Parameters

web_view | a WebKitWebView |
command | the command to execute |
argument | the command argument |

Since: 2.10

### webkit_web_view_get_find_controller ()

    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.

#### Parameters

web_view | the WebKitWebView |

#### Returns

the WebKitFindController associated to this particular WebKitWebView.

[transfer none]

### webkit_web_view_get_inspector ()

    WebKitWebInspector *
    webkit_web_view_get_inspector (WebKitWebView *web_view);

Get the WebKitWebInspector associated to `web_view`

#### Parameters

web_view | a WebKitWebView |

#### Returns

the WebKitWebInspector of `web_view` .

[transfer none]

### webkit_web_view_get_javascript_global_context ()

    JSGlobalContextRef
    webkit_web_view_get_javascript_global_context
                                   (WebKitWebView *web_view);

`webkit_web_view_get_javascript_global_context` has been deprecated since version 2.22 and should not be used in newly-written code.

Use `jsc_value_get_context()` instead.

Get the global JavaScript context used by `web_view` to deserialize the result values of scripts executed with `webkit_web_view_run_javascript()`.

[skip]

#### Parameters

web_view | a WebKitWebView |

#### Returns

the `JSGlobalContextRef` used by `web_view` to deserialize the result values of scripts.

### webkit_web_view_run_javascript ()

    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` . If WebKitSettings:enable-javascript is FALSE, this method will do nothing.

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.

#### Parameters

web_view | a WebKitWebView |
script | the script to run |
cancellable | a GCancellable or `NULL` to ignore. | [allow-none]
callback | a GAsyncReadyCallback to call when the script finished. | [scope async]
user_data | the data to pass to callback function. | [closure]

### webkit_web_view_run_javascript_finish ()

    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
    static void
    web_view_javascript_finished (GObject      *object,
                                  GAsyncResult *result,
                                  gpointer      user_data)
    {
        WebKitJavascriptResult *js_result;
        JSCValue               *value;
        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;
        }

        value = webkit_javascript_result_get_js_value (js_result);
        if (jsc_value_is_string (value)) {
            JSCException *exception;
            gchar        *str_value;

            str_value = jsc_value_to_string (value);
            exception = jsc_context_get_exception (jsc_value_get_context (value));
            if (exception)
                g_warning ("Error running javascript: %s", jsc_exception_get_message (exception));
            else
                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);
    }

#### Parameters

web_view | a WebKitWebView |
result | a GAsyncResult |
error | 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]

### webkit_web_view_run_javascript_in_world ()

    void
    webkit_web_view_run_javascript_in_world
                                   (WebKitWebView *web_view,
                                    const gchar *script,
                                    const gchar *world_name,
                                    GCancellable *cancellable,
                                    GAsyncReadyCallback callback,
                                    gpointer user_data);

Asynchronously run `script` in the script world with name `world_name` of the current page context in `web_view` . If WebKitSettings:enable-javascript is FALSE, this method will do nothing.

When the operation is finished, `callback` will be called. You can then call `webkit_web_view_run_javascript_in_world_finish()` to get the result of the operation.

#### Parameters

web_view | a WebKitWebView |
script | the script to run |
world_name | the name of a WebKitScriptWorld |
cancellable | a GCancellable or `NULL` to ignore. | [allow-none]
callback | a GAsyncReadyCallback to call when the script finished. | [scope async]
user_data | the data to pass to callback function. | [closure]

Since: 2.22

### webkit_web_view_run_javascript_in_world_finish ()

    WebKitJavascriptResult *
    webkit_web_view_run_javascript_in_world_finish
                                   (WebKitWebView *web_view,
                                    GAsyncResult *result,
                                    GError **error);

Finish an asynchronous operation started with `webkit_web_view_run_javascript_in_world()`.

#### Parameters

web_view | a WebKitWebView |
result | a GAsyncResult |
error | 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]

Since: 2.22

### webkit_web_view_run_javascript_from_gresource ()

    void
    webkit_web_view_run_javascript_from_gresource
                                   (WebKitWebView *web_view,
                                    const gchar *resource,
                                    GCancellable *cancellable,
                                    GAsyncReadyCallback callback,
                                    gpointer user_data);

Asynchronously run the script from `resource` 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_from_gresource_finish()` to get the result of the operation.

#### Parameters

web_view | a WebKitWebView |
resource | the location of the resource to load |
cancellable | a GCancellable or `NULL` to ignore. | [allow-none]
callback | a GAsyncReadyCallback to call when the script finished. | [scope async]
user_data | the data to pass to callback function. | [closure]

### webkit_web_view_run_javascript_from_gresource_finish ()

    WebKitJavascriptResult *
    webkit_web_view_run_javascript_from_gresource_finish
                                   (WebKitWebView *web_view,
                                    GAsyncResult *result,
                                    GError **error);

Finish an asynchronous operation started with `webkit_web_view_run_javascript_from_gresource()`.

Check `webkit_web_view_run_javascript_finish()` for a usage example.

#### Parameters

web_view | a WebKitWebView |
result | a GAsyncResult |
error | 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]

### webkit_web_view_can_show_mime_type ()

    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` .

#### Parameters

web_view | a WebKitWebView |
mime_type | a MIME type |

#### Returns

`TRUE` if the MIME type `mime_type` can be displayed or `FALSE` otherwise

### webkit_web_view_save ()

    void
    webkit_web_view_save (WebKitWebView *web_view,
                          WebKitSaveMode save_mode,
                          GCancellable *cancellable,
                          GAsyncReadyCallback callback,
                          gpointer user_data);

Asynchronously save the current web page associated to the WebKitWebView into a self-contained format using the mode specified in `save_mode` .

When the operation is finished, `callback` will be called. You can then call `webkit_web_view_save_finish()` to get the result of the operation.

#### Parameters

web_view | a WebKitWebView |
save_mode | the WebKitSaveMode specifying how the web page should be saved. |
cancellable | a GCancellable or `NULL` to ignore. | [allow-none]
callback | a GAsyncReadyCallback to call when the request is satisfied. | [scope async]
user_data | the data to pass to callback function. | [closure]

### webkit_web_view_save_finish ()

    GInputStream *
    webkit_web_view_save_finish (WebKitWebView *web_view,
                                 GAsyncResult *result,
                                 GError **error);

Finish an asynchronous operation started with `webkit_web_view_save()`.

#### Parameters

web_view | a WebKitWebView |
result | a GAsyncResult |
error | return location for error or `NULL` to ignore |

#### Returns

a GInputStream with the result of saving the current web page or `NULL` in case of error.

[transfer full]

### webkit_web_view_save_to_file ()

    void
    webkit_web_view_save_to_file (WebKitWebView *web_view,
                                  GFile *file,
                                  WebKitSaveMode save_mode,
                                  GCancellable *cancellable,
                                  GAsyncReadyCallback callback,
                                  gpointer user_data);

Asynchronously save the current web page associated to the WebKitWebView into a self-contained format using the mode specified in `save_mode` and writing it to `file` .

When the operation is finished, `callback` will be called. You can then call `webkit_web_view_save_to_file_finish()` to get the result of the operation.

#### Parameters

web_view | a WebKitWebView |
file | the GFile where the current web page should be saved to. |
save_mode | the WebKitSaveMode specifying how the web page should be saved. |
cancellable | a GCancellable or `NULL` to ignore. | [allow-none]
callback | a GAsyncReadyCallback to call when the request is satisfied. | [scope async]
user_data | the data to pass to callback function. | [closure]

### webkit_web_view_save_to_file_finish ()

    gboolean
    webkit_web_view_save_to_file_finish (WebKitWebView *web_view,
                                         GAsyncResult *result,
                                         GError **error);

Finish an asynchronous operation started with `webkit_web_view_save_to_file()`.

#### Parameters

web_view | a WebKitWebView |
result | a GAsyncResult |
error | return location for error or `NULL` to ignore |

#### Returns

`TRUE` if the web page was successfully saved to a file or `FALSE` otherwise.

### webkit_web_view_download_uri ()

    WebKitDownload *
    webkit_web_view_download_uri (WebKitWebView *web_view,
                                  const char *uri);

Requests downloading of the specified URI string for `web_view` .

#### Parameters

web_view | a WebKitWebView |
uri | the URI to download |

#### Returns

a new WebKitDownload representing the download operation.

[transfer full]

### webkit_web_view_get_tls_info ()

    gboolean
    webkit_web_view_get_tls_info (WebKitWebView *web_view,
                                  GTlsCertificate **certificate,
                                  GTlsCertificateFlags *errors);

Retrieves the GTlsCertificate associated with the main resource of `web_view` , and the GTlsCertificateFlags showing what problems, if any, have been found with that certificate. If the connection is not HTTPS, this function returns `FALSE`. This function should be called after a response has been received from the server, so you can connect to “load-changed” and call this function when it's emitted with `WEBKIT_LOAD_COMMITTED` event.

Note that this function provides no information about the security of the web page if the current WebKitTLSErrorsPolicy is `WEBKIT_TLS_ERRORS_POLICY_IGNORE`, as subresources of the page may be controlled by an attacker. This function may safely be used to determine the security status of the current page only if the current WebKitTLSErrorsPolicy is `WEBKIT_TLS_ERRORS_POLICY_FAIL`, in which case subresources that fail certificate verification will be blocked.

#### Parameters

web_view | a WebKitWebView |
certificate | return location for a GTlsCertificate. | [out][transfer none]
errors | return location for a GTlsCertificateFlags the verification status of `certificate` . | [out]

#### Returns

`TRUE` if the `web_view` connection uses HTTPS and a response has been received from the server, or `FALSE` otherwise.

### webkit_web_view_get_snapshot ()

    void
    webkit_web_view_get_snapshot (WebKitWebView *web_view,
                                  WebKitSnapshotRegion region,
                                  WebKitSnapshotOptions options,
                                  GCancellable *cancellable,
                                  GAsyncReadyCallback callback,
                                  gpointer user_data);

Asynchronously retrieves a snapshot of `web_view` for `region` . `options` specifies how the snapshot should be rendered.

When the operation is finished, `callback` will be called. You must call `webkit_web_view_get_snapshot_finish()` to get the result of the operation.

#### Parameters

web_view | a WebKitWebView |
region | the WebKitSnapshotRegion for this snapshot |
options | WebKitSnapshotOptions for the snapshot |
cancellable | a GCancellable. | [allow-none]
callback | a GAsyncReadyCallback. | [scope async]
user_data | user data. | [closure]

### webkit_web_view_get_snapshot_finish ()

    cairo_surface_t *
    webkit_web_view_get_snapshot_finish (WebKitWebView *web_view,
                                         GAsyncResult *result,
                                         GError **error);

Finishes an asynchronous operation started with `webkit_web_view_get_snapshot()`.

#### Parameters

web_view | a WebKitWebView |
result | a GAsyncResult |
error | return location for error or `NULL` to ignore |

#### Returns

a cairo_surface_t with the retrieved snapshot or `NULL` in error.

[transfer full]

### webkit_web_view_set_background_color ()

    void
    webkit_web_view_set_background_color (WebKitWebView *web_view,
                                          const GdkRGBA *rgba);

Sets the color that will be used to draw the `web_view` background before the actual contents are rendered. Note that if the web page loaded in `web_view` specifies a background color, it will take precedence over the `rgba` color. By default the `web_view` background color is opaque white. Note that the parent window must have a RGBA visual and “app-paintable” property set to `TRUE` for backgrounds colors to work.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    static void browser_window_set_background_color (BrowserWindow *window,
                                                     const GdkRGBA *rgba)
    {
        WebKitWebView *web_view;
        GdkScreen *screen = gtk_window_get_screen (GTK_WINDOW (window));
        GdkVisual *rgba_visual = gdk_screen_get_rgba_visual (screen);

        if (!rgba_visual)
             return;

        gtk_widget_set_visual (GTK_WIDGET (window), rgba_visual);
        gtk_widget_set_app_paintable (GTK_WIDGET (window), TRUE);

        web_view = browser_window_get_web_view (window);
        webkit_web_view_set_background_color (web_view, rgba);
    }

#### Parameters

web_view | a WebKitWebView |
rgba | a GdkRGBA |

Since: 2.8

### webkit_web_view_get_background_color ()

    void
    webkit_web_view_get_background_color (WebKitWebView *web_view,
                                          GdkRGBA *rgba);

Gets the color that is used to draw the `web_view` background before the actual contents are rendered. For more information see also `webkit_web_view_set_background_color()`

#### Parameters

web_view | a WebKitWebView |
rgba | a GdkRGBA to fill in with the background color. | [out]

Since: 2.8

### webkit_web_view_set_editable ()

    void
    webkit_web_view_set_editable (WebKitWebView *web_view,
                                  gboolean editable);

Sets whether the user is allowed to edit the HTML document.

If `editable` is `TRUE`, `web_view` allows the user to edit the HTML document. If `editable` is `FALSE`, an element in `web_view` 's document can only be edited if the CONTENTEDITABLE attribute has been set on the element or one of its parent elements. By default a WebKitWebView is not editable.

Normally, a HTML document is not editable unless the elements within the document are editable. This function provides a way to make the contents of a WebKitWebView editable without altering the document or DOM structure.

#### Parameters

web_view | a WebKitWebView |
editable | a gboolean indicating the editable state |

Since: 2.8

### webkit_web_view_is_editable ()

    gboolean
    webkit_web_view_is_editable (WebKitWebView *web_view);

### webkit_web_view_get_editor_state ()

    WebKitEditorState *
    webkit_web_view_get_editor_state (WebKitWebView *web_view);

Gets the web editor state of `web_view` .

#### Parameters

web_view | a WebKitWebView |

#### Returns

the WebKitEditorState of the view.

[transfer none]

Since: 2.10

### webkit_web_view_get_session_state ()

    WebKitWebViewSessionState *
    webkit_web_view_get_session_state (WebKitWebView *web_view);

Gets the current session state of `web_view`

#### Parameters

web_view | a WebKitWebView |

#### Returns

a WebKitWebViewSessionState.

[transfer full]

Since: 2.12

### webkit_web_view_restore_session_state ()

    void
    webkit_web_view_restore_session_state (WebKitWebView *web_view,
                                           WebKitWebViewSessionState *state);

Restore the `web_view` session state from `state`

#### Parameters

web_view | a WebKitWebView |
state | a WebKitWebViewSessionState |

Since: 2.12

### webkit_web_view_get_main_resource ()

    WebKitWebResource *
    webkit_web_view_get_main_resource (WebKitWebView *web_view);

Return the main resource of `web_view` .

#### Parameters

web_view | a WebKitWebView |

#### Returns

the main WebKitWebResource of the view or `NULL` if nothing has been loaded.

[transfer none]

### webkit_web_view_send_message_to_page ()

    void
    webkit_web_view_send_message_to_page (WebKitWebView *web_view,
                                          WebKitUserMessage *message,
                                          GCancellable *cancellable,
                                          GAsyncReadyCallback callback,
                                          gpointer user_data);

Send `message` to the WebKitWebPage corresponding to `web_view` . If `message` is floating, it's consumed.

If you don't expect any reply, or you simply want to ignore it, you can pass `NULL` as `callback` . When the operation is finished, `callback` will be called. You can then call `webkit_web_view_send_message_to_page_finish()` to get the message reply.

#### Parameters

web_view | a WebKitWebView |
message | a WebKitUserMessage |
cancellable | a GCancellable or `NULL` to ignore. | [nullable]
callback | (nullable): A GAsyncReadyCallback to call when the request is satisfied or `NULL`. | [scope async]
user_data | the data to pass to callback function. | [closure]

Since: 2.28

### webkit_web_view_send_message_to_page_finish ()

    WebKitUserMessage *
    webkit_web_view_send_message_to_page_finish
                                   (WebKitWebView *web_view,
                                    GAsyncResult *result,
                                    GError **error);

Finish an asynchronous operation started with `webkit_web_view_send_message_to_page()`.

#### Parameters

web_view | a WebKitWebView |
result | a GAsyncResult |
error | return location for error or `NULL` to ignor |

#### Returns

a WebKitUserMessage with the reply or `NULL` in case of error.

[transfer full]

Since: 2.28

### webkit_web_view_set_input_method_context ()

    void
    webkit_web_view_set_input_method_context
                                   (WebKitWebView *web_view,
                                    WebKitInputMethodContext *context);

Set the WebKitInputMethodContext to be used by `web_view` , or `NULL` to not use any input method. Note that the same WebKitInputMethodContext can't be set on more than one WebKitWebView at the same time.

#### Parameters

web_view | a WebKitWebView |
context | the WebKitInputMethodContext to set, or `NULL`. | [nullable]

Since: 2.28

### webkit_web_view_get_input_method_context ()

    WebKitInputMethodContext *
    webkit_web_view_get_input_method_context
                                   (WebKitWebView *web_view);

Get the WebKitInputMethodContext currently in use by `web_view` , or `NULL` if no input method is being used.

#### Parameters

web_view | a WebKitWebView |

#### Returns

a WebKitInputMethodContext, or `NULL`.

[nullable][transfer none]

Since: 2.28

### webkit_web_view_get_website_policies ()

    WebKitWebsitePolicies *
    webkit_web_view_get_website_policies (WebKitWebView *web_view);

Gets the default website policies set on construction in the `web_view` . These can be overridden on a per-origin basis via the “decide-policy” signal handler.

See also `webkit_policy_decision_use_with_policies()`.

#### Parameters

web_view | a WebKitWebView |

#### Returns

the default WebKitWebsitePolicies associated with the view.

[transfer none]

Since: 2.30

### webkit_web_view_get_is_web_process_responsive ()

    gboolean
    webkit_web_view_get_is_web_process_responsive
                                   (WebKitWebView *web_view);

### webkit_web_view_terminate_web_process ()

    void
    webkit_web_view_terminate_web_process (WebKitWebView *web_view);

Terminates the web process associated to `web_view` . When the web process gets terminated using this method, the “web-process-terminated” signal is emitted with `WEBKIT_WEB_PROCESS_TERMINATED_BY_API` as the reason for termination.

#### Parameters

web_view | a WebKitWebView |

Since: 2.34

### webkit_web_view_set_cors_allowlist ()

    void
    webkit_web_view_set_cors_allowlist (WebKitWebView *web_view,
                                        const gchar * const *allowlist);

Sets the `allowlist` for which Cross-Origin Resource Sharing checks are disabled in `web_view` . URI patterns must be of the form `[protocol]://[host]/[path]`, each component may contain the wildcard character (`*`) to represent zero or more other characters. All three components are required and must not be omitted from the URI patterns.

Disabling CORS checks permits resources from other origins to load allowlisted resources. It does not permit the allowlisted resources to load resources from other origins.

If this function is called multiple times, only the allowlist set by the most recent call will be effective.

#### Parameters

web_view | a WebKitWebView |
allowlist | an allowlist of URI patterns, or `NULL`. | [array zero-terminated=1][element-type utf8][transfer none][nullable]

Since: 2.34

### webkit_web_view_get_camera_capture_state ()

    WebKitMediaCaptureState
    webkit_web_view_get_camera_capture_state
                                   (WebKitWebView *web_view);

Get the camera capture state of a WebKitWebView.

#### Parameters

web_view | a WebKitWebView |

#### Returns

The WebKitMediaCaptureState of the camera device. If “enable-mediastream” is `FALSE`, this method will return `WEBKIT_MEDIA_CAPTURE_STATE_NONE`.

Since: 2.34

### webkit_web_view_get_microphone_capture_state ()

    WebKitMediaCaptureState
    webkit_web_view_get_microphone_capture_state
                                   (WebKitWebView *web_view);

Get the microphone capture state of a WebKitWebView.

#### Parameters

web_view | a WebKitWebView |

#### Returns

The WebKitMediaCaptureState of the microphone device. If “enable-mediastream” is `FALSE`, this method will return `WEBKIT_MEDIA_CAPTURE_STATE_NONE`.

Since: 2.34

### webkit_web_view_set_camera_capture_state ()

    void
    webkit_web_view_set_camera_capture_state
                                   (WebKitWebView *web_view,
                                    WebKitMediaCaptureState state);

Set the camera capture state of a WebKitWebView.

If “enable-mediastream” is `FALSE`, this method will have no visible effect. Once the state of the device has been set to `WEBKIT_MEDIA_CAPTURE_STATE_NONE` it cannot be changed anymore. The page can however request capture again using the mediaDevices API.

#### Parameters

web_view | a WebKitWebView |
state | a WebKitMediaCaptureState |

Since: 2.34

### webkit_web_view_set_microphone_capture_state ()

    void
    webkit_web_view_set_microphone_capture_state
                                   (WebKitWebView *web_view,
                                    WebKitMediaCaptureState state);

Set the microphone capture state of a WebKitWebView.

If “enable-mediastream” is `FALSE`, this method will have no visible effect. Once the state of the device has been set to `WEBKIT_MEDIA_CAPTURE_STATE_NONE` it cannot be changed anymore. The page can however request capture again using the mediaDevices API.

#### Parameters

web_view | a WebKitWebView |
state | a WebKitMediaCaptureState |

Since: 2.34

### webkit_web_view_get_display_capture_state ()

    WebKitMediaCaptureState
    webkit_web_view_get_display_capture_state
                                   (WebKitWebView *web_view);

Get the display capture state of a WebKitWebView.

#### Parameters

web_view | a WebKitWebView |

#### Returns

The WebKitMediaCaptureState of the display device. If “enable-mediastream” is `FALSE`, this method will return `WEBKIT_MEDIA_CAPTURE_STATE_NONE`.

Since: 2.34

### webkit_web_view_set_display_capture_state ()

    void
    webkit_web_view_set_display_capture_state
                                   (WebKitWebView *web_view,
                                    WebKitMediaCaptureState state);

Set the display capture state of a WebKitWebView.

If “enable-mediastream” is `FALSE`, this method will have no visible effect. Once the state of the device has been set to `WEBKIT_MEDIA_CAPTURE_STATE_NONE` it cannot be changed anymore. The page can however request capture again using the mediaDevices API.

#### Parameters

web_view | a WebKitWebView |
state | a WebKitMediaCaptureState |

Since: 2.34

### webkit_javascript_result_ref ()

    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.

#### Parameters

js_result | a WebKitJavascriptResult |

#### Returns

The passed in WebKitJavascriptResult

### webkit_javascript_result_unref ()

    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.

#### Parameters

js_result | a WebKitJavascriptResult |

### webkit_javascript_result_get_global_context ()

    JSGlobalContextRef
    webkit_javascript_result_get_global_context
                                   (WebKitJavascriptResult *js_result);

`webkit_javascript_result_get_global_context` has been deprecated since version 2.22 and should not be used in newly-written code.

Use `jsc_value_get_context()` instead.

Get the global Javascript context that should be used with the `JSValueRef` returned by `webkit_javascript_result_get_value()`.

[skip]

#### Parameters

js_result | a WebKitJavascriptResult |

#### Returns

the `JSGlobalContextRef` for the WebKitJavascriptResult

### webkit_javascript_result_get_value ()

    JSValueRef
    webkit_javascript_result_get_value (WebKitJavascriptResult *js_result);

`webkit_javascript_result_get_value` has been deprecated since version 2.22 and should not be used in newly-written code.

Use `webkit_javascript_result_get_js_value()` instead.

Get the value of `js_result` . You should use the `JSGlobalContextRef` returned by `webkit_javascript_result_get_global_context()` to use the `JSValueRef`.

[skip]

#### Parameters

js_result | a WebKitJavascriptResult |

#### Returns

the `JSValueRef` of the WebKitJavascriptResult

### webkit_javascript_result_get_js_value ()

    JSCValue *
    webkit_javascript_result_get_js_value (WebKitJavascriptResult *js_result);

Get the JSCValue of `js_result` .

#### Parameters

js_result | a WebKitJavascriptResult |

#### Returns

the JSCValue of the WebKitJavascriptResult.

[transfer none]

Since: 2.22

### webkit_script_dialog_ref ()

    WebKitScriptDialog *
    webkit_script_dialog_ref (WebKitScriptDialog *dialog);

Atomically increments the reference count of `dialog` by one. This function is MT-safe and may be called from any thread.

#### Parameters

dialog | a WebKitScriptDialog |

#### Returns

The passed in WebKitScriptDialog

Since: 2.24

### webkit_script_dialog_unref ()

    void
    webkit_script_dialog_unref (WebKitScriptDialog *dialog);

Atomically decrements the reference count of `dialog` by one. If the reference count drops to 0, all memory allocated by the WebKitScriptdialog is released. This function is MT-safe and may be called from any thread.

#### Parameters

dialog | a WebKitScriptDialog |

Since: 2.24

### webkit_script_dialog_get_dialog_type ()

    WebKitScriptDialogType
    webkit_script_dialog_get_dialog_type (WebKitScriptDialog *dialog);

Get the dialog type of a WebKitScriptDialog.

#### Parameters

dialog | a WebKitScriptDialog |

#### Returns

the WebKitScriptDialogType of `dialog`

### webkit_script_dialog_get_message ()

    const gchar *
    webkit_script_dialog_get_message (WebKitScriptDialog *dialog);

Get the message of a WebKitScriptDialog.

#### Parameters

dialog | a WebKitScriptDialog |

#### Returns

the message of `dialog` .

### webkit_script_dialog_confirm_set_confirmed ()

    void
    webkit_script_dialog_confirm_set_confirmed
                                   (WebKitScriptDialog *dialog,
                                    gboolean confirmed);

This method is used for `WEBKIT_SCRIPT_DIALOG_CONFIRM` and `WEBKIT_SCRIPT_DIALOG_BEFORE_UNLOAD_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 or Stay buttons are clicked and `FALSE` otherwise. It's an error to use this method with a WebKitScriptDialog that is not of type `WEBKIT_SCRIPT_DIALOG_CONFIRM` or `WEBKIT_SCRIPT_DIALOG_BEFORE_UNLOAD_CONFIRM`

#### Parameters

dialog | a WebKitScriptDialog |
confirmed | whether user confirmed the dialog |

### webkit_script_dialog_prompt_get_default_text ()

    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`.

#### Parameters

dialog | a WebKitScriptDialog |

#### Returns

the default text of `dialog`

### webkit_script_dialog_prompt_set_text ()

    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`.

#### Parameters

dialog | a WebKitScriptDialog |
text | the text to set |

### webkit_script_dialog_close ()

    void
    webkit_script_dialog_close (WebKitScriptDialog *dialog);

Close `dialog` . When handling a WebKitScriptDialog asynchronously (`webkit_script_dialog_ref()` was called in “script-dialog” callback), this function needs to be called to notify that we are done with the script dialog. The dialog will be closed on destruction if this function hasn't been called before.

#### Parameters

dialog | a WebKitScriptDialog |

Since: 2.24

### webkit_web_view_session_state_new ()

    WebKitWebViewSessionState *
    webkit_web_view_session_state_new (GBytes *data);

Creates a new WebKitWebViewSessionState from serialized data.

#### Parameters

data | a GBytes |

#### Returns

a new WebKitWebViewSessionState, or `NULL` if `data` doesn't contain a valid serialized WebKitWebViewSessionState.

[transfer full]

Since: 2.12

### webkit_web_view_session_state_ref ()

    WebKitWebViewSessionState *
    webkit_web_view_session_state_ref (WebKitWebViewSessionState *state);

Atomically increments the reference count of `state` by one. This function is MT-safe and may be called from any thread.

#### Parameters

state | a WebKitWebViewSessionState |

#### Returns

The passed in WebKitWebViewSessionState

Since: 2.12

### webkit_web_view_session_state_unref ()

    void
    webkit_web_view_session_state_unref (WebKitWebViewSessionState *state);

Atomically decrements the reference count of `state` by one. If the reference count drops to 0, all memory allocated by the WebKitWebViewSessionState is released. This function is MT-safe and may be called from any thread.

#### Parameters

state | a WebKitWebViewSessionState |

Since: 2.12

### webkit_web_view_session_state_serialize ()

    GBytes *
    webkit_web_view_session_state_serialize
                                   (WebKitWebViewSessionState *state);

Serializes a WebKitWebViewSessionState.

#### Parameters

state | a WebKitWebViewSessionState |

#### Returns

a GBytes containing the `state` serialized.

[transfer full]

Since: 2.12

## Types and Values

### WebKitWebView

    typedef struct _WebKitWebView WebKitWebView;

### enum WebKitLoadEvent

Enum values used to denote the different events that happen during a WebKitWebView load operation.

#### Members

WEBKIT_LOAD_STARTED | 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. |
WEBKIT_LOAD_REDIRECTED | A provisional data source received a server redirect. |
WEBKIT_LOAD_COMMITTED | The content started arriving for a page load. The necessary transport requirements are established, and the load is being performed. |
WEBKIT_LOAD_FINISHED | Load completed. All resources are done loading or there was an error during the load operation. |

### enum WebKitPolicyDecisionType

Enum values used for determining the type of a policy decision during “decide-policy”.

#### Members

WEBKIT_POLICY_DECISION_TYPE_NAVIGATION_ACTION | 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. |
WEBKIT_POLICY_DECISION_TYPE_NEW_WINDOW_ACTION | 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. |
WEBKIT_POLICY_DECISION_TYPE_RESPONSE | 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. |

### enum WebKitSaveMode

Enum values to specify the different ways in which a WebKitWebView can save its current web page into a self-contained file.

#### Members

WEBKIT_SAVE_MODE_MHTML | Save the current page using the MHTML format. |

### enum WebKitInsecureContentEvent

Enum values used to denote the different events which can trigger the detection of insecure content.

#### Members

WEBKIT_INSECURE_CONTENT_RUN | Insecure content has been detected by trying to execute any kind of logic (e.g. a script) from an untrusted source. |
WEBKIT_INSECURE_CONTENT_DISPLAYED | Insecure content has been detected by trying to display any kind of resource (e.g. an image) from an untrusted source. |

### enum WebKitSnapshotOptions

Enum values used to specify options when taking a snapshot from a WebKitWebView.

#### Members

WEBKIT_SNAPSHOT_OPTIONS_NONE | Do not include any special options. |
WEBKIT_SNAPSHOT_OPTIONS_INCLUDE_SELECTION_HIGHLIGHTING | Whether to include in the snapshot the highlight of the selected content. |
WEBKIT_SNAPSHOT_OPTIONS_TRANSPARENT_BACKGROUND | Do not fill the background with white before rendering the snapshot. Since 2.8 |

### enum WebKitSnapshotRegion

Enum values used to specify the region from which to get a WebKitWebView snapshot

#### Members

WEBKIT_SNAPSHOT_REGION_VISIBLE | Specifies a snapshot only for the area that is visible in the webview |
WEBKIT_SNAPSHOT_REGION_FULL_DOCUMENT | A snapshot of the entire document. |

### enum WebKitWebProcessTerminationReason

Enum values used to specify the reason why the web process terminated abnormally.

#### Members

WEBKIT_WEB_PROCESS_CRASHED | the web process crashed. |
WEBKIT_WEB_PROCESS_EXCEEDED_MEMORY_LIMIT | the web process exceeded the memory limit. |
WEBKIT_WEB_PROCESS_TERMINATED_BY_API | the web process termination was requested by an API call. Since: 2.34 |

Since: 2.20

### enum WebKitAutoplayPolicy

Enum values used to specify autoplay policies.

#### Members

WEBKIT_AUTOPLAY_ALLOW | Do not restrict autoplay. |
WEBKIT_AUTOPLAY_ALLOW_WITHOUT_SOUND | Allow videos to autoplay if they have no audio track, or if their audio track is muted. |
WEBKIT_AUTOPLAY_DENY | Never allow autoplay. |

Since: 2.30

### enum WebKitMediaCaptureState

Enum values used to specify the capture state of a media device.

#### Members

WEBKIT_MEDIA_CAPTURE_STATE_NONE | Media capture is disabled. |
WEBKIT_MEDIA_CAPTURE_STATE_ACTIVE | Media capture is active. |
WEBKIT_MEDIA_CAPTURE_STATE_MUTED | Media capture is muted. |

Since: 2.34

### WEBKIT_EDITING_COMMAND_CUT

    #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.

### WEBKIT_EDITING_COMMAND_COPY

    #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.

### WEBKIT_EDITING_COMMAND_PASTE

    #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.

### WEBKIT_EDITING_COMMAND_PASTE_AS_PLAIN_TEXT

    #define WEBKIT_EDITING_COMMAND_PASTE_AS_PLAIN_TEXT "PasteAsPlainText"

The paste as plaintext clipboard command. Pastes the contents of the clipboard to a WebKitWebView, with formatting removed. 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.

Since: 2.30

### WEBKIT_EDITING_COMMAND_SELECT_ALL

    #define WEBKIT_EDITING_COMMAND_SELECT_ALL "SelectAll"

The select all command. Selects all the content of the current text field in a WebKitWebView. It is always possible to select all text, no matter whether the WebKitWebView content is editable or not. You can still check it with `webkit_web_view_can_execute_editing_command()`.

### WEBKIT_EDITING_COMMAND_UNDO

    #define WEBKIT_EDITING_COMMAND_UNDO "Undo"

The undo command. Undoes the last editing command in a WebKitWebView. You can check whether it's possible to execute the command with `webkit_web_view_can_execute_editing_command()`. It's only possible to undo a command after a previously executed editing operation.

### WEBKIT_EDITING_COMMAND_REDO

    #define WEBKIT_EDITING_COMMAND_REDO "Redo"

The redo command. Redoes a previously undone editing command in a WebKitWebView. You can check whether it's possible to execute the command with `webkit_web_view_can_execute_editing_command()`. It's only possible to redo a command when it has been previously undone.

### WEBKIT_EDITING_COMMAND_INSERT_IMAGE

    #define WEBKIT_EDITING_COMMAND_INSERT_IMAGE "InsertImage"

The insert image command. Creates an image element that is inserted at the current cursor position. It receives an URI as argument, that is used as the image source. This command should be executed with `webkit_web_view_execute_editing_command_with_argument()`.

Since: 2.10

### WEBKIT_EDITING_COMMAND_CREATE_LINK

    #define WEBKIT_EDITING_COMMAND_CREATE_LINK "CreateLink"

The create link command. Creates a link element that is inserted at the current cursor position. If there's a selection, the selected text will be used as the link text, otherwise the URL itself will be used. It receives the link URL as argument. This command should be executed with `webkit_web_view_execute_editing_command_with_argument()`

Since: 2.10

### WebKitJavascriptResult

    typedef struct _WebKitJavascriptResult WebKitJavascriptResult;

### WebKitScriptDialog

    typedef struct _WebKitScriptDialog WebKitScriptDialog;

### enum WebKitScriptDialogType

Enum values used for determining the type of WebKitScriptDialog

#### Members

WEBKIT_SCRIPT_DIALOG_ALERT | Alert script dialog, used to show a message to the user. |
WEBKIT_SCRIPT_DIALOG_CONFIRM | Confirm script dialog, used to ask confirmation to the user. |
WEBKIT_SCRIPT_DIALOG_PROMPT | Prompt script dialog, used to ask information to the user. |
WEBKIT_SCRIPT_DIALOG_BEFORE_UNLOAD_CONFIRM | Before unload confirm dialog, used to ask confirmation to leave the current page to the user. Since 2.12 |

### WebKitWebViewSessionState

    typedef struct _WebKitWebViewSessionState WebKitWebViewSessionState;

## Property Details

### The `“automation-presentation-type”` property

      “automation-presentation-type” WebKitAutomationBrowsingContextPresentation

The WebKitAutomationBrowsingContextPresentation of WebKitWebView. This should only be used when creating a new WebKitWebView as a response to “create-web-view” signal request. If the new WebView was added to a new tab of current browsing context window `WEBKIT_AUTOMATION_BROWSING_CONTEXT_PRESENTATION_TAB` should be used.

Owner: WebKitWebView

Flags: Read / Write / Construct Only

Default value: WEBKIT_AUTOMATION_BROWSING_CONTEXT_PRESENTATION_WINDOW

Since: 2.28

### The `“camera-capture-state”` property

      “camera-capture-state”     WebKitMediaCaptureState

Capture state of the camera device. Whenever the user grants a media-request sent by the web page, requesting video capture capabilities (`navigator.mediaDevices.getUserMedia({video: true})`) this property will be set to `WEBKIT_MEDIA_CAPTURE_STATE_ACTIVE`.

The application can monitor this property and provide a visual indicator allowing to optionally deactivate or mute the capture device by setting this property respectively to `WEBKIT_MEDIA_CAPTURE_STATE_NONE` or `WEBKIT_MEDIA_CAPTURE_STATE_MUTED`.

If the capture state of the device is set to `WEBKIT_MEDIA_CAPTURE_STATE_NONE` the web-page can still re-request the permission to the user. Permission desision caching is left to the application.

Owner: WebKitWebView

Flags: Read / Write

Default value: WEBKIT_MEDIA_CAPTURE_STATE_NONE

Since: 2.34

### The `“display-capture-state”` property

      “display-capture-state”    WebKitMediaCaptureState

Capture state of the display device. Whenever the user grants a media-request sent by the web page, requesting screencasting capabilities (`navigator.mediaDevices.getDisplayMedia() this property will be set to `WEBKIT_MEDIA_CAPTURE_STATE_ACTIVE`.

The application can monitor this property and provide a visual indicator allowing to optionally deactivate or mute the capture device by setting this property respectively to `WEBKIT_MEDIA_CAPTURE_STATE_NONE` or `WEBKIT_MEDIA_CAPTURE_STATE_MUTED`.

If the capture state of the device is set to `WEBKIT_MEDIA_CAPTURE_STATE_NONE` the web-page can still re-request the permission to the user. Permission desision caching is left to the application.

Owner: WebKitWebView

Flags: Read / Write

Default value: WEBKIT_MEDIA_CAPTURE_STATE_NONE

Since: 2.34

### The `“editable”` property

      “editable”                 gboolean

Whether the pages loaded inside WebKitWebView are editable. For more information see `webkit_web_view_set_editable()`.

Owner: WebKitWebView

Flags: Read / Write

Default value: FALSE

Since: 2.8

### The `“estimated-load-progress”` property

      “estimated-load-progress”  double

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.

Owner: WebKitWebView

Flags: Read

Allowed values: [0,1]

Default value: 0

### The `“favicon”` property

      “favicon”                  gpointer

The favicon currently associated to the WebKitWebView. See `webkit_web_view_get_favicon()` for more details.

Owner: WebKitWebView

Flags: Read

### The `“is-controlled-by-automation”` property

      “is-controlled-by-automation” gboolean

Whether the WebKitWebView is controlled by automation. This should only be used when creating a new WebKitWebView as a response to “create-web-view” signal request.

Owner: WebKitWebView

Flags: Read / Write / Construct Only

Default value: FALSE

Since: 2.18

### The `“is-ephemeral”` property

      “is-ephemeral”             gboolean

Whether the WebKitWebView is ephemeral. An ephemeral web view never writes website data to the client storage, no matter what WebKitWebsiteDataManager its context is using. This is normally used to implement private browsing mode. This is a `G_PARAM_CONSTRUCT_ONLY` property, so you have to create an ephemeral WebKitWebView and it can't be changed. The ephemeral WebKitWebsiteDataManager created for the WebKitWebView will inherit the network settings from the WebKitWebContext's WebKitWebsiteDataManager. To use different settings you can get the WebKitWebsiteDataManager with `webkit_web_view_get_website_data_manager()` and set the new ones. Note that all WebKitWebViews created with an ephemeral WebKitWebContext will be ephemeral automatically. See also `webkit_web_context_new_ephemeral()`.

Owner: WebKitWebView

Flags: Read / Write / Construct Only

Default value: FALSE

Since: 2.16

### The `“is-loading”` property

      “is-loading”               gboolean

Whether the WebKitWebView is currently loading a page. This property becomes `TRUE` as soon as a new load operation is requested and before the “load-changed” signal is emitted with `WEBKIT_LOAD_STARTED` and at that point the active URI is the requested one. When the load operation finishes the property is set to `FALSE` before “load-changed” is emitted with `WEBKIT_LOAD_FINISHED`.

Owner: WebKitWebView

Flags: Read

Default value: FALSE

### The `“is-muted”` property

      “is-muted”                 gboolean

Whether the WebKitWebView audio is muted. When `TRUE`, audio is silenced. It may still be playing, i.e. “is-playing-audio” may be `TRUE`.

Owner: WebKitWebView

Flags: Read / Write

Default value: FALSE

Since: 2.30

### The `“is-playing-audio”` property

      “is-playing-audio”         gboolean

Whether the WebKitWebView is currently playing audio from a page. This property becomes `TRUE` as soon as web content starts playing any kind of audio. When a page is no longer playing any kind of sound, the property is set back to `FALSE`.

Owner: WebKitWebView

Flags: Read

Default value: FALSE

Since: 2.8

### The `“is-web-process-responsive”` property

      “is-web-process-responsive” gboolean

Whether the web process currently associated to the WebKitWebView is responsive.

Owner: WebKitWebView

Flags: Read

Default value: TRUE

Since: 2.34

### The `“microphone-capture-state”` property

      “microphone-capture-state” WebKitMediaCaptureState

Capture state of the microphone device. Whenever the user grants a media-request sent by the web page, requesting audio capture capabilities (`navigator.mediaDevices.getUserMedia({audio: true})`) this property will be set to `WEBKIT_MEDIA_CAPTURE_STATE_ACTIVE`.

The application can monitor this property and provide a visual indicator allowing to optionally deactivate or mute the capture device by setting this property respectively to `WEBKIT_MEDIA_CAPTURE_STATE_NONE` or `WEBKIT_MEDIA_CAPTURE_STATE_MUTED`.

If the capture state of the device is set to `WEBKIT_MEDIA_CAPTURE_STATE_NONE` the web-page can still re-request the permission to the user. Permission desision caching is left to the application.

Owner: WebKitWebView

Flags: Read / Write

Default value: WEBKIT_MEDIA_CAPTURE_STATE_NONE

Since: 2.34

### The `“page-id”` property

      “page-id”                  guint64

The identifier of the WebKitWebPage corresponding to the WebKitWebView.

Owner: WebKitWebView

Flags: Read

Default value: 0

Since: 2.28

### The `“related-view”` property

      “related-view”             WebKitWebView *

The related WebKitWebView used when creating the view to share the same web process. This property is not readable because the related web view is only valid during the object construction.

Owner: WebKitWebView

Flags: Write / Construct Only

Since: 2.4

### The `“settings”` property

      “settings”                 WebKitSettings *

The WebKitSettings of the view.

Owner: WebKitWebView

Flags: Write / Construct

Since: 2.6

### The `“title”` property

      “title”                    char *

The main frame document title of this WebKitWebView. If the title has not been received yet, it will be `NULL`.

Owner: WebKitWebView

Flags: Read

Default value: NULL

### The `“uri”` property

      “uri”                      char *

The current active URI of the WebKitWebView. See `webkit_web_view_get_uri()` for more details.

Owner: WebKitWebView

Flags: Read

Default value: NULL

### The `“user-content-manager”` property

      “user-content-manager”     WebKitUserContentManager *

The WebKitUserContentManager of the view.

Owner: WebKitWebView

Flags: Read / Write / Construct Only

Since: 2.6

### The `“web-context”` property

      “web-context”              WebKitWebContext *

The WebKitWebContext of the view.

Owner: WebKitWebView

Flags: Read / Write / Construct Only

### The `“website-policies”` property

      “website-policies”         WebKitWebsitePolicies *

The WebKitWebsitePolicies for the view.

Owner: WebKitWebView

Flags: Read / Write / Construct Only

Since: 2.30

### The `“zoom-level”` property

      “zoom-level”               double

The zoom level of the WebKitWebView content. See `webkit_web_view_set_zoom_level()` for more details.

Owner: WebKitWebView

Flags: Read / Write

Allowed values: >= 0

Default value: 1

## Signal Details

### The `“authenticate”` signal

    gboolean
    user_function (WebKitWebView               *web_view,
                   WebKitAuthenticationRequest *request,
                   gpointer                     user_data)

This signal is emitted when the user is challenged with HTTP authentication. To let the application access or supply the credentials as well as to allow the client application to either cancel the request or perform the authentication, the signal will pass an instance of the WebKitAuthenticationRequest in the `request` argument. To handle this signal asynchronously you should keep a ref of the request and return `TRUE`. To disable HTTP authentication entirely, connect to this signal and simply return `TRUE`.

The default signal handler will run a default authentication dialog asynchronously for the user to interact with.

#### Parameters

web_view | the WebKitWebView on which the signal is emitted |
request | a WebKitAuthenticationRequest |
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.

Flags: Run Last

Since: 2.2

### The `“close”` signal

    void
    user_function (WebKitWebView *web_view,
                   gpointer       user_data)

Emitted when closing a WebKitWebView is requested. This occurs when a call is made from JavaScript's `window.close` function or after trying to close the `web_view` with `webkit_web_view_try_close()`. It is the owner's responsibility to handle this signal to hide or destroy the WebKitWebView, if necessary.

#### Parameters

web_view | the WebKitWebView on which the signal is emitted |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“context-menu”` signal

    gboolean
    user_function (WebKitWebView       *web_view,
                   WebKitContextMenu   *context_menu,
                   GdkEvent            *event,
                   WebKitHitTestResult *hit_test_result,
                   gpointer             user_data)

Emitted 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.

The `event` is expected to be one of the following types:

- a GdkEventButton of type `GDK_BUTTON_PRESS` when the context menu was triggered with mouse.

- a GdkEventKey of type `GDK_KEY_PRESS` if the keyboard was used to show the menu.

- a generic GdkEvent of type `GDK_NOTHING` when the “popup-menu” signal was used to show the context menu.

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.

#### Parameters

web_view | the WebKitWebView on which the signal is emitted |
context_menu | the proposed WebKitContextMenu |
event | the GdkEvent that triggered the context menu |
hit_test_result | a WebKitHitTestResult |
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.

Flags: Run Last

### The `“context-menu-dismissed”` signal

    void
    user_function (WebKitWebView *web_view,
                   gpointer       user_data)

Emitted after “context-menu” signal, if the context menu is shown, to notify that the context menu is dismissed.

#### Parameters

web_view | the WebKitWebView on which the signal is emitted |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“create”` signal

    GtkWidget*
    user_function (WebKitWebView          *web_view,
                   WebKitNavigationAction *navigation_action,
                   gpointer                user_data)

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 WebKitNavigationAction parameter contains information about the navigation action that triggered this signal.

The new WebKitWebView must be related to `web_view` , see `webkit_web_view_new_with_related_view()` for more details.

The new WebKitWebView should not be displayed to the user until the “ready-to-show” signal is emitted.

#### Parameters

web_view | the WebKitWebView on which the signal is emitted |
navigation_action | a WebKitNavigationAction |
user_data | user data set when the signal handler was connected. |

#### Returns

a newly allocated WebKitWebView widget or `NULL` to propagate the event further.

[transfer full]

Flags: Run Last

### The `“decide-policy”` signal

    gboolean
    user_function (WebKitWebView           *web_view,
                   WebKitPolicyDecision    *decision,
                   WebKitPolicyDecisionType decision_type,
                   gpointer                 user_data)

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
    25
    26
    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.

#### Parameters

web_view | the WebKitWebView on which the signal is emitted |
decision | the WebKitPolicyDecision |
decision_type | a WebKitPolicyDecisionType denoting the type of `decision` |
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.

Flags: Run Last

### The `“enter-fullscreen”` signal

    gboolean
    user_function (WebKitWebView *web_view,
                   gpointer       user_data)

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).

#### Parameters

web_view | the WebKitWebView on which the signal is emitted. |
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 continue emission of the event.

Flags: Run Last

### The `“insecure-content-detected”` signal

    void
    user_function (WebKitWebView             *web_view,
                   WebKitInsecureContentEvent event,
                   gpointer                   user_data)

This signal is emitted when insecure content has been detected in a page loaded through a secure connection. This typically means that a external resource from an unstrusted source has been run or displayed, resulting in a mix of HTTPS and non-HTTPS content.

You can check the `event` parameter to know exactly which kind of event has been detected (see WebKitInsecureContentEvent).

#### Parameters

web_view | the WebKitWebView on which the signal is emitted |
event | the WebKitInsecureContentEvent |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“leave-fullscreen”` signal

    gboolean
    user_function (WebKitWebView *web_view,
                   gpointer       user_data)

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.

#### Parameters

web_view | the WebKitWebView on which the signal is emitted. |
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 continue emission of the event.

Flags: Run Last

### The `“load-changed”` signal

    void
    user_function (WebKitWebView  *web_view,
                   WebKitLoadEvent load_event,
                   gpointer        user_data)

Emitted when 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;
        }
    }

#### Parameters

web_view | the WebKitWebView on which the signal is emitted |
load_event | the WebKitLoadEvent |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“load-failed”` signal

    gboolean
    user_function (WebKitWebView  *web_view,
                   WebKitLoadEvent load_event,
                   char           *failing_uri,
                   GError         *error,
                   gpointer        user_data)

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.

#### Parameters

web_view | the WebKitWebView on which the signal is emitted |
load_event | the WebKitLoadEvent of the load operation |
failing_uri | the URI that failed to load |
error | the GError that was triggered |
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.

Flags: Run Last

### The `“load-failed-with-tls-errors”` signal

    gboolean
    user_function (WebKitWebView       *web_view,
                   char                *failing_uri,
                   GTlsCertificate     *certificate,
                   GTlsCertificateFlags errors,
                   gpointer             user_data)

Emitted when a TLS error occurs during a load operation. To allow an exception for this `certificate` and the host of `failing_uri` use `webkit_web_context_allow_tls_certificate_for_host()`.

To handle this signal asynchronously you should call `g_object_ref()` on `certificate` and return `TRUE`.

If `FALSE` is returned, “load-failed” will be emitted. The load will finish regardless of the returned value.

#### Parameters

web_view | the WebKitWebView on which the signal is emitted |
failing_uri | the URI that failed to load |
certificate | a GTlsCertificate |
errors | a GTlsCertificateFlags with the verification status of `certificate` |
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.

Flags: Run Last

Since: 2.6

### The `“mouse-target-changed”` signal

    void
    user_function (WebKitWebView       *web_view,
                   WebKitHitTestResult *hit_test_result,
                   guint                modifiers,
                   gpointer             user_data)

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` .

#### Parameters

web_view | the WebKitWebView on which the signal is emitted |
hit_test_result | a WebKitHitTestResult |
modifiers | a bitmask of GdkModifierType |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“permission-request”` signal

    gboolean
    user_function (WebKitWebView           *web_view,
                   WebKitPermissionRequest *request,
                   gpointer                 user_data)

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
    24
    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.

If the signal is not handled, the `request` will be completed automatically by the specific WebKitPermissionRequest that could allow or deny it. Check the documentation of classes implementing WebKitPermissionRequest interface to know their default action.

#### Parameters

web_view | the WebKitWebView on which the signal is emitted |
request | the WebKitPermissionRequest |
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.

Flags: Run Last

### The `“print”` signal

    gboolean
    user_function (WebKitWebView        *web_view,
                   WebKitPrintOperation *print_operation,
                   gpointer              user_data)

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.

#### Parameters

web_view | the WebKitWebView on which the signal is emitted |
print_operation | the WebKitPrintOperation that will handle the print request |
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.

Flags: Run Last

### The `“ready-to-show”` signal

    void
    user_function (WebKitWebView *web_view,
                   gpointer       user_data)

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()`.

#### Parameters

web_view | the WebKitWebView on which the signal is emitted |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“resource-load-started”` signal

    void
    user_function (WebKitWebView     *web_view,
                   WebKitWebResource *resource,
                   WebKitURIRequest  *request,
                   gpointer           user_data)

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` .

#### Parameters

web_view | the WebKitWebView on which the signal is emitted |
resource | a WebKitWebResource |
request | a WebKitURIRequest |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“run-as-modal”` signal

    void
    user_function (WebKitWebView *web_view,
                   gpointer       user_data)

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 main loop will be run to block user interaction in the parent WebKitWebView until the new dialog is closed.

#### Parameters

web_view | the WebKitWebView on which the signal is emitted |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“run-color-chooser”` signal

    gboolean
    user_function (WebKitWebView             *web_view,
                   WebKitColorChooserRequest *request,
                   gpointer                   user_data)

This signal is emitted when the user interacts with a <input type='color' /> HTML element, requesting from WebKit to show a dialog to select a color. To let the application know the details of the color chooser, as well as to allow the client application to either cancel the request or perform an actual color selection, the signal will pass an instance of the WebKitColorChooserRequest in the `request` argument.

It is possible to handle this request asynchronously by increasing the reference count of the request.

The default signal handler will asynchronously run a regular GtkColorChooser for the user to interact with.

#### Parameters

web_view | the WebKitWebView on which the signal is emitted |
request | a WebKitColorChooserRequest |
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.

Flags: Run Last

Since: 2.8

### The `“run-file-chooser”` signal

    gboolean
    user_function (WebKitWebView            *web_view,
                   WebKitFileChooserRequest *request,
                   gpointer                  user_data)

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.

#### Parameters

web_view | the WebKitWebView on which the signal is emitted |
request | a WebKitFileChooserRequest |
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.

Flags: Run Last

### The `“script-dialog”` signal

    gboolean
    user_function (WebKitWebView      *web_view,
                   WebKitScriptDialog *dialog,
                   gpointer            user_data)

Emitted when JavaScript code calls `window.alert`, `window.confirm` or `window.prompt`, or when `onbeforeunload` event is fired. 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.

- `WEBKIT_SCRIPT_DIALOG_BEFORE_UNLOAD_CONFIRM`: message dialog with Stay and Leave buttons.

It is possible to handle the script dialog request asynchronously, by simply caling `webkit_script_dialog_ref()` on the `dialog` argument and calling `webkit_script_dialog_close()` when done. If the last reference is removed on a WebKitScriptDialog and the dialog has not been closed, `webkit_script_dialog_close()` will be called.

#### Parameters

web_view | the WebKitWebView on which the signal is emitted |
dialog | the WebKitScriptDialog to show |
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.

Flags: Run Last

### The `“show-notification”` signal

    gboolean
    user_function (WebKitWebView      *web_view,
                   WebKitNotification *notification,
                   gpointer            user_data)

This signal is emitted when a notification should be presented to the user. The `notification` is kept alive until either: 1) the web page cancels it or 2) a navigation happens.

The default handler will emit a notification using libnotify, if built with support for it.

#### Parameters

web_view | the WebKitWebView |
notification | a WebKitNotification |
user_data | user data set when the signal handler was connected. |

#### Returns

`TRUE` to stop other handlers from being invoked. `FALSE` otherwise.

Flags: Run Last

Since: 2.8

### The `“show-option-menu”` signal

    gboolean
    user_function (WebKitWebView    *web_view,
                   WebKitOptionMenu *menu,
                   GdkEvent         *event,
                   GdkRectangle     *rectangle,
                   gpointer          user_data)

This signal is emitted when a select element in `web_view` needs to display a dropdown menu. This signal can be used to show a custom menu, using `menu` to get the details of all items that should be displayed. The area of the element in the WebKitWebView is given as `rectangle` parameter, it can be used to position the menu. If this was triggered by a user interaction, like a mouse click, `event` parameter provides the GdkEvent. To handle this signal asynchronously you should keep a ref of the `menu` .

The default signal handler will pop up a GtkMenu.

#### Parameters

web_view | the WebKitWebView on which the signal is emitted |
menu | the WebKitOptionMenu |
event | the GdkEvent that triggered the menu, or `NULL` |
rectangle | the option element area |
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.

Flags: Run Last

Since: 2.18

### The `“submit-form”` signal

    void
    user_function (WebKitWebView               *web_view,
                   WebKitFormSubmissionRequest *request,
                   gpointer                     user_data)

This signal is emitted when a form is about to be submitted. The `request` argument passed contains information about the text fields of the form. This is typically used to store login information that can be used later to pre-fill the form. The form will not be submitted until `webkit_form_submission_request_submit()` is called.

It is possible to handle the form submission request asynchronously, by simply calling `g_object_ref()` on the `request` argument and calling `webkit_form_submission_request_submit()` when done to continue with the form submission. If the last reference is removed on a WebKitFormSubmissionRequest and the form has not been submitted, `webkit_form_submission_request_submit()` will be called.

#### Parameters

web_view | the WebKitWebView on which the signal is emitted |
request | a WebKitFormSubmissionRequest |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“user-message-received”` signal

    gboolean
    user_function (WebKitWebView     *web_view,
                   WebKitUserMessage *message,
                   gpointer           user_data)

This signal is emitted when a WebKitUserMessage is received from the WebKitWebPage corresponding to `web_view` . You can reply to the message using `webkit_user_message_send_reply()`.

You can handle the user message asynchronously by calling `g_object_ref()` on `message` and returning `TRUE`. If the last reference of `message` is removed and the message has not been replied to, the operation in the WebKitWebPage will finish with error `WEBKIT_USER_MESSAGE_UNHANDLED_MESSAGE`.

#### Parameters

web_view | the WebKitWebView on which the signal is emitted |
message | the WebKitUserMessage received |
user_data | user data set when the signal handler was connected. |

#### Returns

`TRUE` if the message was handled, or `FALSE` otherwise.

Flags: Run Last

Since: 2.28

### The `“web-process-crashed”` signal

    gboolean
    user_function (WebKitWebView *web_view,
                   gpointer       user_data)

This signal is emitted when the web process crashes.

`WebKitWebView::web-process-crashed` has been deprecated since version 2.20 and should not be used in newly-written code.

Use WebKitWebView::web-process-terminated instead.

#### Parameters

web_view | the WebKitWebView |
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.

Flags: Run Last

### The `“web-process-terminated”` signal

    void
    user_function (WebKitWebView                    *web_view,
                   WebKitWebProcessTerminationReason reason,
                   gpointer                          user_data)

This signal is emitted when the web process terminates abnormally due to `reason` .

#### Parameters

web_view | the WebKitWebView |
reason | the a WebKitWebProcessTerminationReason |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

Since: 2.20