Class
WebKit2WebView
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
.
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_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_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_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_website_data_manager
Get the WebKitWebsiteDataManager
associated to web_view
.
Available since: 2.16
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_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
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_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_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
Methods inherited from GtkContainer (33)
Methods inherited from GtkBuildable (10)
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: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: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:zoom-level
The zoom level of the WebKitWebView
content.
See webkit_web_view_set_zoom_level()
for more details.
Properties inherited from GtkContainer (3)
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 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.
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.
TRUE
so that the proposed menu will not be shown.
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.
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
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
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 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.
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