### Class

# WebKit2 WebView

#### Description [src]

    class WebKit2.WebView : WebKit2.WebViewBase {
      parent: WebKitWebViewBase
    }

The central class of the WPE WebKit and WebKitGTK APIs.

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

#### Ancestors

- WebKitWebViewBase
- GtkWidget
- GInitiallyUnowned
- GObject

#### Implements

- GtkAccessible
- GtkBuildable
- GtkConstraintTarget

#### Constructors

###### webkit_web_view_new

Creates a new `WebKitWebView` with the default `WebKitWebContext`.

###### webkit_web_view_new_with_context

Creates a new `WebKitWebView` with the given `WebKitWebContext`.

###### webkit_web_view_new_with_related_view

Creates a new `WebKitWebView` sharing the same web process with `web_view`.

Available since: 2.4

###### webkit_web_view_new_with_settings

Creates a new `WebKitWebView` with the given `WebKitSettings`.

Available since: 2.6

###### webkit_web_view_new_with_user_content_manager

Creates a new `WebKitWebView` with the given `WebKitUserContentManager`.

Available since: 2.6

#### Instance methods

###### webkit_web_view_can_execute_editing_command

Asynchronously check if it is possible to execute the given editing command.

###### webkit_web_view_can_execute_editing_command_finish

Finish an asynchronous operation started with webkit_web_view_can_execute_editing_command().

###### webkit_web_view_can_go_back

Determines whether `web_view` has a previous history item.

###### webkit_web_view_can_go_forward

Determines whether `web_view` has a next history item.

###### webkit_web_view_can_show_mime_type

Whether or not a MIME type can be displayed in `web_view`.

###### webkit_web_view_download_uri

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

###### webkit_web_view_execute_editing_command

Request to execute the given `command` for `web_view`.

###### webkit_web_view_execute_editing_command_with_argument

Request to execute the given `command` with `argument` for `web_view`.

Available since: 2.10

###### webkit_web_view_get_automation_presentation_type

Get the presentation type of `WebKitWebView` when created for automation.

Available since: 2.28

###### webkit_web_view_get_back_forward_list

Obtains the `WebKitBackForwardList` associated with the given `WebKitWebView`.

###### webkit_web_view_get_background_color

Gets the color that is used to draw the `web_view` background.

Available since: 2.8

###### webkit_web_view_get_camera_capture_state

Get the camera capture state of a `WebKitWebView`.

Available since: 2.34

###### webkit_web_view_get_context

Gets the web context of `web_view`.

###### webkit_web_view_get_custom_charset

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

###### webkit_web_view_get_default_content_security_policy

Gets the configured default Content-Security-Policy.

Available since: 2.38

###### webkit_web_view_get_display_capture_state

Get the display capture state of a `WebKitWebView`.

Available since: 2.34

###### webkit_web_view_get_editor_state

Gets the web editor state of `web_view`.

Available since: 2.10

###### webkit_web_view_get_estimated_load_progress

Gets the value of the `WebKitWebView:estimated-load-progress` property.

###### webkit_web_view_get_favicon

Returns favicon currently associated to `web_view`.

###### webkit_web_view_get_find_controller

Gets the `WebKitFindController`.

###### webkit_web_view_get_input_method_context

Get the `WebKitInputMethodContext` currently in use by `web_view`.

Available since: 2.28

###### webkit_web_view_get_inspector

Get the `WebKitWebInspector` associated to `web_view`.

###### webkit_web_view_get_is_muted

Gets the mute state of `web_view`.

Available since: 2.30

###### webkit_web_view_get_is_web_process_responsive

Get whether the current web process of a `WebKitWebView` is responsive.

Available since: 2.34

###### webkit_web_view_get_javascript_global_context

Get the global JavaScript context.

Deprecated since: 2.22

###### webkit_web_view_get_main_resource

Return the main resource of `web_view`.

###### webkit_web_view_get_microphone_capture_state

Get the microphone capture state of a `WebKitWebView`.

Available since: 2.34

###### webkit_web_view_get_page_id

Get the identifier of the `WebKitWebPage` corresponding to the `WebKitWebView`.

###### webkit_web_view_get_session_state

Gets the current session state of `web_view`.

Available since: 2.12

###### webkit_web_view_get_settings

Gets the `WebKitSettings` currently applied to `web_view`.

###### webkit_web_view_get_snapshot

Asynchronously retrieves a snapshot of `web_view` for `region`.

###### webkit_web_view_get_snapshot_finish

Finishes an asynchronous operation started with webkit_web_view_get_snapshot().

###### webkit_web_view_get_title

Gets the value of the `WebKitWebView:title` property.

###### webkit_web_view_get_tls_info

Retrieves the `GTlsCertificate` associated with the main resource of `web_view`.

###### webkit_web_view_get_uri

Returns the current active URI of `web_view`.

###### webkit_web_view_get_user_content_manager

Gets the user content manager associated to `web_view`.

Available since: 2.6

###### webkit_web_view_get_web_extension_mode

Get the view’s `WebKitWebExtensionMode`.

Available since: 2.38

###### webkit_web_view_get_website_data_manager

Get the `WebKitWebsiteDataManager` associated to `web_view`.

Available since: 2.16

###### webkit_web_view_get_website_policies

Gets the default website policies.

Available since: 2.30

###### webkit_web_view_get_window_properties

Get the `WebKitWindowProperties` object.

###### webkit_web_view_get_zoom_level

Set the zoom level of `web_view`.

###### webkit_web_view_go_back

Loads the previous history item.

###### webkit_web_view_go_forward

Loads the next history item.

###### webkit_web_view_go_to_back_forward_list_item

Loads the specific history item `list_item`.

###### webkit_web_view_is_controlled_by_automation

Get whether a `WebKitWebView` was created with `WebKitWebView:is-controlled-by-automation` property enabled.

Available since: 2.18

###### webkit_web_view_is_editable

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

Available since: 2.8

###### webkit_web_view_is_ephemeral

Get whether a `WebKitWebView` is ephemeral.

Available since: 2.16

###### webkit_web_view_is_loading

Gets the value of the `WebKitWebView:is-loading` property.

###### webkit_web_view_is_playing_audio

Gets the value of the `WebKitWebView:is-playing-audio` property.

Available since: 2.8

###### webkit_web_view_load_alternate_html

Load the given `content` string for the URI `content_uri`.

###### webkit_web_view_load_bytes

Load the specified `bytes` into `web_view` using the given `mime_type` and `encoding`.

Available since: 2.6

###### webkit_web_view_load_html

Load the given `content` string with the specified `base_uri`.

###### webkit_web_view_load_plain_text

Load the specified `plain_text` string into `web_view`.

###### webkit_web_view_load_request

Requests loading of the specified `WebKitURIRequest`.

###### webkit_web_view_load_uri

Requests loading of the specified URI string.

###### webkit_web_view_reload

Reloads the current contents of `web_view`.

###### webkit_web_view_reload_bypass_cache

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

###### webkit_web_view_restore_session_state

Restore the `web_view` session state from `state`.

Available since: 2.12

###### webkit_web_view_run_async_javascript_function_in_world

No description available.

###### webkit_web_view_run_javascript

Asynchronously run `script` in the context of the current page in `web_view`.

###### webkit_web_view_run_javascript_finish

Finish an asynchronous operation started with webkit_web_view_run_javascript().

###### webkit_web_view_run_javascript_from_gresource

Asynchronously run the script from `resource`.

###### webkit_web_view_run_javascript_from_gresource_finish

Finish an asynchronous operation started with webkit_web_view_run_javascript_from_gresource().

###### webkit_web_view_run_javascript_in_world

Asynchronously run `script` in the script world.

Available since: 2.22

###### webkit_web_view_run_javascript_in_world_finish

Finish an asynchronous operation started with webkit_web_view_run_javascript_in_world().

Available since: 2.22

###### webkit_web_view_save

Asynchronously save the current web page.

###### webkit_web_view_save_finish

Finish an asynchronous operation started with webkit_web_view_save().

###### webkit_web_view_save_to_file

Asynchronously save the current web page.

###### webkit_web_view_save_to_file_finish

Finish an asynchronous operation started with webkit_web_view_save_to_file().

###### webkit_web_view_send_message_to_page

Send `message` to the `WebKitWebPage` corresponding to `web_view`.

Available since: 2.28

###### webkit_web_view_send_message_to_page_finish

Finish an asynchronous operation started with webkit_web_view_send_message_to_page().

Available since: 2.28

###### webkit_web_view_set_background_color

Sets the color that will be used to draw the `web_view` background.

Available since: 2.8

###### webkit_web_view_set_camera_capture_state

Set the camera capture state of a `WebKitWebView`.

Available since: 2.34

###### webkit_web_view_set_cors_allowlist

Sets the `allowlist` for CORS.

Available since: 2.34

###### webkit_web_view_set_custom_charset

Sets the current custom character encoding override of `web_view`.

###### webkit_web_view_set_display_capture_state

Set the display capture state of a `WebKitWebView`.

Available since: 2.34

###### webkit_web_view_set_editable

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

Available since: 2.8

###### webkit_web_view_set_input_method_context

Set the `WebKitInputMethodContext` to be used by `web_view`.

Available since: 2.28

###### webkit_web_view_set_is_muted

Sets the mute state of `web_view`.

Available since: 2.30

###### webkit_web_view_set_microphone_capture_state

Set the microphone capture state of a `WebKitWebView`.

Available since: 2.34

###### webkit_web_view_set_settings

Sets the `WebKitSettings` to be applied to `web_view`.

###### webkit_web_view_set_zoom_level

Set the zoom level of `web_view`.

###### webkit_web_view_stop_loading

Stops any ongoing loading operation in `web_view`.

###### webkit_web_view_terminate_web_process

Terminates the web process associated to `web_view`.

Available since: 2.34

###### webkit_web_view_try_close

Tries to close the `web_view`.

Available since: 2.12

##### Methods inherited from GtkWidget (160)

Please see GtkWidget for a full list of methods.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

##### Methods inherited from GtkAccessible (10)

###### gtk_accessible_get_accessible_role

Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.

###### gtk_accessible_reset_property

Resets the accessible `property` to its default value.

###### gtk_accessible_reset_relation

Resets the accessible `relation` to its default value.

###### gtk_accessible_reset_state

Resets the accessible `state` to its default value.

###### gtk_accessible_update_property

Updates a list of accessible properties.

###### gtk_accessible_update_property_value

Updates an array of accessible properties.

###### gtk_accessible_update_relation

Updates a list of accessible relations.

###### gtk_accessible_update_relation_value

Updates an array of accessible relations.

###### gtk_accessible_update_state

Updates a list of accessible states. See the `GtkAccessibleState` documentation for the value types of accessible states.

###### gtk_accessible_update_state_value

Updates an array of accessible states.

##### Methods inherited from GtkBuildable (1)

###### gtk_buildable_get_buildable_id

Gets the ID of the `buildable` object.

#### Properties

###### WebKit2.WebView:automation-presentation-type

The `WebKitAutomationBrowsingContextPresentation` of `WebKitWebView`. This should only be used when creating a new `WebKitWebView` as a response to `WebKitAutomationSession::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.

Available since: 2.28

###### WebKit2.WebView:camera-capture-state

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

Available since: 2.34

###### WebKit2.WebView:default-content-security-policy

The default Content-Security-Policy used by the webview as if it were set by an HTTP header.

Available since: 2.38

###### WebKit2.WebView:display-capture-state

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

Available since: 2.34

###### WebKit2.WebView:editable

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

Available since: 2.8

###### WebKit2.WebView:estimated-load-progress

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.

###### WebKit2.WebView:favicon

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

###### WebKit2.WebView:is-controlled-by-automation

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

Available since: 2.18

###### WebKit2.WebView:is-ephemeral

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 `WebKitWebView`s created with an ephemeral `WebKitWebContext` will be ephemeral automatically. See also webkit_web_context_new_ephemeral().

Available since: 2.16

###### WebKit2.WebView:is-loading

Whether the `WebKitWebView` is currently loading a page. This property becomes `TRUE` as soon as a new load operation is requested and before the `WebKitWebView::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 `WebKitWebView::load-changed` is emitted with `WEBKIT_LOAD_FINISHED`.

###### WebKit2.WebView:is-muted

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

Available since: 2.30

###### WebKit2.WebView:is-playing-audio

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

Available since: 2.8

###### WebKit2.WebView:is-web-process-responsive

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

Available since: 2.34

###### WebKit2.WebView:microphone-capture-state

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

Available since: 2.34

###### WebKit2.WebView:page-id

The identifier of the `WebKitWebPage` corresponding to the `WebKitWebView`.

Available since: 2.28

###### WebKit2.WebView:related-view

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.

Available since: 2.4

###### WebKit2.WebView:settings

The `WebKitSettings` of the view.

Available since: 2.6

###### WebKit2.WebView:title

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

###### WebKit2.WebView:uri

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

###### WebKit2.WebView:user-content-manager

The `WebKitUserContentManager` of the view.

Available since: 2.6

###### WebKit2.WebView:web-context

The `WebKitWebContext` of the view.

###### WebKit2.WebView:web-extension-mode

This configures `web_view` to treat the content as a WebExtension.

Available since: 2.38

###### WebKit2.WebView:website-policies

The `WebKitWebsitePolicies` for the view.

Available since: 2.30

###### WebKit2.WebView:zoom-level

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

##### Properties inherited from GtkWidget (34)

###### Gtk.Widget:can-focus

Whether the widget or any of its descendents can accept the input focus.

###### Gtk.Widget:can-target

Whether the widget can receive pointer events.

###### Gtk.Widget:css-classes

A list of css classes applied to this widget.

###### Gtk.Widget:css-name

The name of this widget in the CSS tree.

###### Gtk.Widget:cursor

The cursor used by `widget`.

###### Gtk.Widget:focus-on-click

Whether the widget should grab focus when it is clicked with the mouse.

###### Gtk.Widget:focusable

Whether this widget itself will accept the input focus.

###### Gtk.Widget:halign

How to distribute horizontal space if widget gets extra space.

###### Gtk.Widget:has-default

Whether the widget is the default widget.

###### Gtk.Widget:has-focus

Whether the widget has the input focus.

###### Gtk.Widget:has-tooltip

Enables or disables the emission of the ::query-tooltip signal on `widget`.

###### Gtk.Widget:height-request

Override for height request of the widget.

###### Gtk.Widget:hexpand

Whether to expand horizontally.

###### Gtk.Widget:hexpand-set

Whether to use the `hexpand` property.

###### Gtk.Widget:layout-manager

The `GtkLayoutManager` instance to use to compute the preferred size of the widget, and allocate its children.

###### Gtk.Widget:margin-bottom

Margin on bottom side of widget.

###### Gtk.Widget:margin-end

Margin on end of widget, horizontally.

###### Gtk.Widget:margin-start

Margin on start of widget, horizontally.

###### Gtk.Widget:margin-top

Margin on top side of widget.

###### Gtk.Widget:name

The name of the widget.

###### Gtk.Widget:opacity

The requested opacity of the widget.

###### Gtk.Widget:overflow

How content outside the widget’s content area is treated.

###### Gtk.Widget:parent

The parent widget of this widget.

###### Gtk.Widget:receives-default

Whether the widget will receive the default action when it is focused.

###### Gtk.Widget:root

The `GtkRoot` widget of the widget tree containing this widget.

###### Gtk.Widget:scale-factor

The scale factor of the widget.

###### Gtk.Widget:sensitive

Whether the widget responds to input.

###### Gtk.Widget:tooltip-markup

Sets the text of tooltip to be the given string, which is marked up with Pango markup.

###### Gtk.Widget:tooltip-text

Sets the text of tooltip to be the given string.

###### Gtk.Widget:valign

How to distribute vertical space if widget gets extra space.

###### Gtk.Widget:vexpand

Whether to expand vertically.

###### Gtk.Widget:vexpand-set

Whether to use the `vexpand` property.

###### Gtk.Widget:visible

Whether the widget is visible.

###### Gtk.Widget:width-request

Override for width request of the widget.

##### Properties inherited from GtkAccessible (1)

###### Gtk.Accessible:accessible-role

The accessible role of the given `GtkAccessible` implementation.

#### Signals

###### WebKit2.WebView::authenticate

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

Available since: 2.2

###### WebKit2.WebView::close

Emitted when closing a `WebKitWebView` is requested. This occurs when a call is made from JavaScript’s <function>window.close</function> 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.

###### WebKit2.WebView::context-menu

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. <itemizedlist> <listitem><para> To customize the proposed menu you can use webkit_context_menu_prepend(), `webkit_context_menu_append()` or `webkit_context_menu_insert()` to add new `WebKitContextMenuItem`s 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. </para></listitem> <listitem><para> 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. </para></listitem> <listitem><para> 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. </para></listitem> <listitem><para> 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. </para></listitem> </itemizedlist>

###### WebKit2.WebView::context-menu-dismissed

Emitted after `WebKitWebView::context-menu` signal, if the context menu is shown, to notify that the context menu is dismissed.

###### WebKit2.WebView::create

Emitted when the creation of a new `WebKitWebView` is requested. If this signal is handled the signal handler should return the newly created `WebKitWebView`.

###### WebKit2.WebView::decide-policy

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:

###### WebKit2.WebView::enter-fullscreen

Emitted when JavaScript code calls <function>element.webkitRequestFullScreen</function>. 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).

###### WebKit2.WebView::insecure-content-detected

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.

###### WebKit2.WebView::leave-fullscreen

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 `WebKitWebView::enter-fullscreen` stage for instance.

###### WebKit2.WebView::load-changed

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 `WebKitWebView::load-failed` signal is emitted before `WebKitWebView::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.

###### WebKit2.WebView::load-failed

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.

###### WebKit2.WebView::load-failed-with-tls-errors

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

Available since: 2.6

###### WebKit2.WebView::mouse-target-changed

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

###### WebKit2.WebView::permission-request

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.

###### WebKit2.WebView::print

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.

###### WebKit2.WebView::ready-to-show

Emitted after `WebKitWebView::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().

###### WebKit2.WebView::resource-load-started

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

###### WebKit2.WebView::run-as-modal

Emitted after `WebKitWebView::ready-to-show` on the newly created `WebKitWebView` when JavaScript code calls <function>window.showModalDialog</function>. 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.

###### WebKit2.WebView::run-color-chooser

This signal is emitted when the user interacts with a 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.

Available since: 2.8

###### WebKit2.WebView::run-file-chooser

This signal is emitted when the user interacts with a 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.

###### WebKit2.WebView::script-dialog

Emitted when JavaScript code calls <function>window.alert</function>, <function>window.confirm</function> or <function>window.prompt</function>, or when <function>onbeforeunload</function> 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: <itemizedlist> <listitem><para> `WEBKIT_SCRIPT_DIALOG_ALERT`: message dialog with a single Close button. </para></listitem> <listitem><para> `WEBKIT_SCRIPT_DIALOG_CONFIRM`: message dialog with OK and Cancel buttons. </para></listitem> <listitem><para> `WEBKIT_SCRIPT_DIALOG_PROMPT`: message dialog with OK and Cancel buttons and a text entry with the default text. </para></listitem> <listitem><para> `WEBKIT_SCRIPT_DIALOG_BEFORE_UNLOAD_CONFIRM`: message dialog with Stay and Leave buttons. </para></listitem> </itemizedlist>

###### WebKit2.WebView::show-notification

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.

Available since: 2.8

###### WebKit2.WebView::show-option-menu

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

Available since: 2.18

###### WebKit2.WebView::submit-form

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.

###### WebKit2.WebView::user-message-received

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

Available since: 2.28

###### WebKit2.WebView::web-process-crashed

This signal is emitted when the web process crashes.

Deprecated since: 2.20

###### WebKit2.WebView::web-process-terminated

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

Available since: 2.20

##### Signals inherited from GtkWidget (13)

###### Gtk.Widget::destroy

Signals that all holders of a reference to the widget should release the reference that they hold.

###### Gtk.Widget::direction-changed

Emitted when the text direction of a widget changes.

###### Gtk.Widget::hide

Emitted when `widget` is hidden.

###### Gtk.Widget::keynav-failed

Emitted if keyboard navigation fails.

###### Gtk.Widget::map

Emitted when `widget` is going to be mapped.

###### Gtk.Widget::mnemonic-activate

Emitted when a widget is activated via a mnemonic.

###### Gtk.Widget::move-focus

Emitted when the focus is moved.

###### Gtk.Widget::query-tooltip

Emitted when the widgets tooltip is about to be shown.

###### Gtk.Widget::realize

Emitted when `widget` is associated with a `GdkSurface`.

###### Gtk.Widget::show

Emitted when `widget` is shown.

###### Gtk.Widget::state-flags-changed

Emitted when the widget state changes.

###### Gtk.Widget::unmap

Emitted when `widget` is going to be unmapped.

###### Gtk.Widget::unrealize

Emitted when the `GdkSurface` associated with `widget` is destroyed.

##### Signals inherited from GObject (1)

###### GObject.Object::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct WebKit2WebViewClass {
      WebKitWebViewBaseClass parent;
      void (* load_changed) (
        WebKitWebView* web_view,
        WebKitLoadEvent load_event
      );
      gboolean (* load_failed) (
        WebKitWebView* web_view,
        WebKitLoadEvent load_event,
        const gchar* failing_uri,
        GError* error
      );
      GtkWidget* (* create) (
        WebKitWebView* web_view,
        WebKitNavigationAction* navigation_action
      );
      void (* ready_to_show) (
        WebKitWebView* web_view
      );
      void (* run_as_modal) (
        WebKitWebView* web_view
      );
      void (* close) (
        WebKitWebView* web_view
      );
      gboolean (* script_dialog) (
        WebKitWebView* web_view,
        WebKitScriptDialog* dialog
      );
      gboolean (* decide_policy) (
        WebKitWebView* web_view,
        WebKitPolicyDecision* decision,
        WebKitPolicyDecisionType type
      );
      gboolean (* permission_request) (
        WebKitWebView* web_view,
        WebKitPermissionRequest* permission_request
      );
      void (* mouse_target_changed) (
        WebKitWebView* web_view,
        WebKitHitTestResult* hit_test_result,
        guint modifiers
      );
      gboolean (* print) (
        WebKitWebView* web_view,
        WebKitPrintOperation* print_operation
      );
      void (* resource_load_started) (
        WebKitWebView* web_view,
        WebKitWebResource* resource,
        WebKitURIRequest* request
      );
      gboolean (* enter_fullscreen) (
        WebKitWebView* web_view
      );
      gboolean (* leave_fullscreen) (
        WebKitWebView* web_view
      );
      gboolean (* run_file_chooser) (
        WebKitWebView* web_view,
        WebKitFileChooserRequest* request
      );
      gboolean (* context_menu) (
        WebKitWebView* web_view,
        WebKitContextMenu* context_menu,
        GdkEvent* event,
        WebKitHitTestResult* hit_test_result
      );
      void (* context_menu_dismissed) (
        WebKitWebView* web_view
      );
      void (* submit_form) (
        WebKitWebView* web_view,
        WebKitFormSubmissionRequest* request
      );
      void (* insecure_content_detected) (
        WebKitWebView* web_view,
        WebKitInsecureContentEvent event
      );
      gboolean (* web_process_crashed) (
        WebKitWebView* web_view
      );
      gboolean (* authenticate) (
        WebKitWebView* web_view,
        WebKitAuthenticationRequest* request
      );
      gboolean (* load_failed_with_tls_errors) (
        WebKitWebView* web_view,
        const gchar* failing_uri,
        GTlsCertificate* certificate,
        GTlsCertificateFlags errors
      );
      gboolean (* show_notification) (
        WebKitWebView* web_view,
        WebKitNotification* notification
      );
      gboolean (* run_color_chooser) (
        WebKitWebView* web_view,
        WebKitColorChooserRequest* request
      );
      gboolean (* show_option_menu) (
        WebKitWebView* web_view,
        GdkRectangle* rectangle,
        WebKitOptionMenu* menu
      );
      void (* web_process_terminated) (
        WebKitWebView* web_view,
        WebKitWebProcessTerminationReason reason
      );
      gboolean (* user_message_received) (
        WebKitWebView* web_view,
        WebKitUserMessage* message
      );
      void (* _webkit_reserved0) (
    void
      );

    }

###### Class members

`parent`

    WebKitWebViewBaseClass

| No description available.

`load_changed`

    void (* load_changed) (
        WebKitWebView* web_view,
        WebKitLoadEvent load_event
      )

| No description available.

`load_failed`

    gboolean (* load_failed) (
        WebKitWebView* web_view,
        WebKitLoadEvent load_event,
        const gchar* failing_uri,
        GError* error
      )

| No description available.

`create`

    GtkWidget* (* create) (
        WebKitWebView* web_view,
        WebKitNavigationAction* navigation_action
      )

| No description available.

`ready_to_show`

    void (* ready_to_show) (
        WebKitWebView* web_view
      )

| No description available.

`run_as_modal`

    void (* run_as_modal) (
        WebKitWebView* web_view
      )

| No description available.

`close`

    void (* close) (
        WebKitWebView* web_view
      )

| No description available.

`script_dialog`

    gboolean (* script_dialog) (
        WebKitWebView* web_view,
        WebKitScriptDialog* dialog
      )

| No description available.

`decide_policy`

    gboolean (* decide_policy) (
        WebKitWebView* web_view,
        WebKitPolicyDecision* decision,
        WebKitPolicyDecisionType type
      )

| No description available.

`permission_request`

    gboolean (* permission_request) (
        WebKitWebView* web_view,
        WebKitPermissionRequest* permission_request
      )

| No description available.

`mouse_target_changed`

    void (* mouse_target_changed) (
        WebKitWebView* web_view,
        WebKitHitTestResult* hit_test_result,
        guint modifiers
      )

| No description available.

`print`

    gboolean (* print) (
        WebKitWebView* web_view,
        WebKitPrintOperation* print_operation
      )

| No description available.

`resource_load_started`

    void (* resource_load_started) (
        WebKitWebView* web_view,
        WebKitWebResource* resource,
        WebKitURIRequest* request
      )

| No description available.

`enter_fullscreen`

    gboolean (* enter_fullscreen) (
        WebKitWebView* web_view
      )

| No description available.

`leave_fullscreen`

    gboolean (* leave_fullscreen) (
        WebKitWebView* web_view
      )

| No description available.

`run_file_chooser`

    gboolean (* run_file_chooser) (
        WebKitWebView* web_view,
        WebKitFileChooserRequest* request
      )

| No description available.

`context_menu`

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

| No description available.

`context_menu_dismissed`

    void (* context_menu_dismissed) (
        WebKitWebView* web_view
      )

| No description available.

`submit_form`

    void (* submit_form) (
        WebKitWebView* web_view,
        WebKitFormSubmissionRequest* request
      )

| No description available.

`insecure_content_detected`

    void (* insecure_content_detected) (
        WebKitWebView* web_view,
        WebKitInsecureContentEvent event
      )

| No description available.

`web_process_crashed`

    gboolean (* web_process_crashed) (
        WebKitWebView* web_view
      )

| No description available.

`authenticate`

    gboolean (* authenticate) (
        WebKitWebView* web_view,
        WebKitAuthenticationRequest* request
      )

| No description available.

`load_failed_with_tls_errors`

    gboolean (* load_failed_with_tls_errors) (
        WebKitWebView* web_view,
        const gchar* failing_uri,
        GTlsCertificate* certificate,
        GTlsCertificateFlags errors
      )

| No description available.

`show_notification`

    gboolean (* show_notification) (
        WebKitWebView* web_view,
        WebKitNotification* notification
      )

| No description available.

`run_color_chooser`

    gboolean (* run_color_chooser) (
        WebKitWebView* web_view,
        WebKitColorChooserRequest* request
      )

| No description available.

`show_option_menu`

    gboolean (* show_option_menu) (
        WebKitWebView* web_view,
        GdkRectangle* rectangle,
        WebKitOptionMenu* menu
      )

| No description available.

`web_process_terminated`

    void (* web_process_terminated) (
        WebKitWebView* web_view,
        WebKitWebProcessTerminationReason reason
      )

| No description available.

`user_message_received`

    gboolean (* user_message_received) (
        WebKitWebView* web_view,
        WebKitUserMessage* message
      )

| No description available.

`_webkit_reserved0`

    void (* _webkit_reserved0) (
    void
      )

| No description available.

#### Virtual methods

###### WebKit2.WebViewClass.authenticate

No description available.

###### WebKit2.WebViewClass.close

No description available.

###### WebKit2.WebViewClass.context_menu

No description available.

###### WebKit2.WebViewClass.context_menu_dismissed

No description available.

###### WebKit2.WebViewClass.create

No description available.

###### WebKit2.WebViewClass.decide_policy

No description available.

###### WebKit2.WebViewClass.enter_fullscreen

No description available.

###### WebKit2.WebViewClass.insecure_content_detected

No description available.

###### WebKit2.WebViewClass.leave_fullscreen

No description available.

###### WebKit2.WebViewClass.load_changed

No description available.

###### WebKit2.WebViewClass.load_failed

No description available.

###### WebKit2.WebViewClass.load_failed_with_tls_errors

No description available.

###### WebKit2.WebViewClass.mouse_target_changed

No description available.

###### WebKit2.WebViewClass.permission_request

No description available.

###### WebKit2.WebViewClass.print

No description available.

###### WebKit2.WebViewClass.ready_to_show

No description available.

###### WebKit2.WebViewClass.resource_load_started

No description available.

###### WebKit2.WebViewClass.run_as_modal

No description available.

###### WebKit2.WebViewClass.run_color_chooser

No description available.

###### WebKit2.WebViewClass.run_file_chooser

No description available.

###### WebKit2.WebViewClass.script_dialog

No description available.

###### WebKit2.WebViewClass.show_notification

No description available.

###### WebKit2.WebViewClass.show_option_menu

No description available.

###### WebKit2.WebViewClass.submit_form

No description available.

###### WebKit2.WebViewClass.user_message_received

No description available.

###### WebKit2.WebViewClass.web_process_crashed

No description available.

###### WebKit2.WebViewClass.web_process_terminated

No description available.