Information about an application running in automation mode.
Creates a new #WebKitApplicationInfo
the newly created #WebKitApplicationInfo.
Get the name of the application.
If webkit_application_info_set_name() hasn't been
called with a valid name, this returns g_get_prgname().
the application name
a #WebKitApplicationInfo
Get the application version previously set with webkit_application_info_set_version().
a #WebKitApplicationInfo
return location for the major version number
return location for the minor version number
return location for the micro version number
Atomically increments the reference count of @info by one.
This
function is MT-safe and may be called from any thread.
The passed in #WebKitApplicationInfo
a #WebKitApplicationInfo
Set the name of the application.
If not provided, or %NULL is passed,
g_get_prgname() will be used.
a #WebKitApplicationInfo
the application name
Set the application version.
If the application doesn't use the format
major.minor.micro you can pass 0 as the micro to use major.minor, or pass
0 as both micro and minor to use only major number. Any other format must
be converted to major.minor.micro so that it can be used in version comparisons.
a #WebKitApplicationInfo
the major version number
the minor version number
the micro version number
Atomically decrements the reference count of @info by one.
If the
reference count drops to 0, all memory allocated by the #WebKitApplicationInfo is
released. This function is MT-safe and may be called from any
thread.
a #WebKitApplicationInfo
Represents an authentication request.
Whenever a client attempts to load a page protected by HTTP
authentication, credentials will need to be provided to authorize access.
To allow the client to decide how it wishes to handle authentication,
WebKit will fire a #WebKitWebView::authenticate signal with a
WebKitAuthenticationRequest object to provide client side
authentication support. Credentials are exposed through the
#WebKitCredential object.
In case the client application does not wish
to handle this signal WebKit will provide a default handler. To handle
authentication asynchronously, simply increase the reference count of the
WebKitAuthenticationRequest object.
Authenticate the #WebKitAuthenticationRequest.
Authenticate the #WebKitAuthenticationRequest using the #WebKitCredential
supplied. To continue without credentials, pass %NULL as @credential.
a #WebKitAuthenticationRequest
A #WebKitCredential, or %NULL
Determine whether this #WebKitAuthenticationRequest should allow the storage of credentials.
Determine whether the authentication method associated with this
#WebKitAuthenticationRequest should allow the storage of credentials.
This will return %FALSE if WebKit doesn't support credential storing,
if private browsing is enabled, or if persistent credential storage has been
disabled in #WebKitWebsiteDataManager, unless credentials saving has been
explicitly enabled with webkit_authentication_request_set_can_save_credentials().
%TRUE if WebKit can store credentials or %FALSE otherwise.
a #WebKitAuthenticationRequest
Cancel the authentication challenge.
This will also cancel the page loading and result in a
#WebKitWebView::load-failed signal with a #WebKitNetworkError of type %WEBKIT_NETWORK_ERROR_CANCELLED being emitted.
a #WebKitAuthenticationRequest
Get the #GTlsPasswordFlags of the %WEBKIT_AUTHENTICATION_SCHEME_CLIENT_CERTIFICATE_PIN_REQUESTED authentication challenge.
a #GTlsPasswordFlags
a #WebKitAuthenticationRequest
Get the host that this authentication challenge is applicable to.
The host of @request.
a #WebKitAuthenticationRequest
Get the port that this authentication challenge is applicable to.
The port of @request.
a #WebKitAuthenticationRequest
Get the #WebKitCredential of the proposed authentication challenge.
Get the #WebKitCredential of the proposed authentication challenge that was
stored from a previous session. The client can use this directly for
authentication or construct their own #WebKitCredential.
A #WebKitCredential encapsulating credential details
or %NULL if there is no stored credential.
a #WebKitAuthenticationRequest
Get the realm that this authentication challenge is applicable to.
The realm of @request.
a #WebKitAuthenticationRequest
Get the authentication scheme of the authentication challenge.
The #WebKitAuthenticationScheme of @request.
a #WebKitAuthenticationRequest
Get the #WebKitSecurityOrigin that this authentication challenge is applicable to.
a newly created #WebKitSecurityOrigin.
a #WebKitAuthenticationRequest
Determine whether the authentication challenge is associated with a proxy server.
Determine whether the authentication challenge is associated with a proxy server rather than an "origin" server.
%TRUE if authentication is for a proxy or %FALSE otherwise.
a #WebKitAuthenticationRequest
Determine whether this this is a first attempt or a retry for this authentication challenge.
%TRUE if authentication attempt is a retry or %FALSE otherwise.
a #WebKitAuthenticationRequest
Set whether the authentication method associated with @request
should allow the storage of credentials.
Set whether the authentication method associated with @request
should allow the storage of credentials.
This should be used by applications handling their own credentials
storage to indicate that it should be supported even when internal
credential storage is disabled or unsupported.
Note that storing of credentials will not be allowed on ephemeral
sessions in any case.
a #WebKitAuthenticationRequest
value to set
Set the #WebKitCredential of the proposed authentication challenge.
Set the #WebKitCredential of the proposed authentication challenge that was
stored from a previous session. This should only be used by applications handling
their own credential storage. (When using the default WebKit credential storage,
webkit_authentication_request_get_proposed_credential() already contains previously-stored
credentials.)
Passing a %NULL @credential will clear the proposed credential.
a #WebKitAuthenticationRequest
a #WebKitCredential, or %NULL
This signal is emitted when the user authentication request succeeded.
Applications handling their own credential storage should connect to
this signal to save the credentials.
the #WebKitCredential accepted
This signal is emitted when the user authentication request is
cancelled. It allows the application to dismiss its authentication
dialog in case of page load failure for example.
Enum values representing the authentication scheme.
The default authentication scheme of WebKit.
Basic authentication scheme as defined in RFC 2617.
Digest authentication scheme as defined in RFC 2617.
HTML Form authentication.
NTLM Microsoft proprietary authentication scheme.
Negotiate (or SPNEGO) authentication scheme as defined in RFC 4559.
Client Certificate Authentication (see RFC 2246).
Server Trust Authentication.
Client certificate PIN required for use. Since: 2.34
Authentication scheme unknown.
Enum values used for determining the automation browsing context presentation.
a window
a tab
Automation Session.
WebKitAutomationSession represents an automation session of a WebKitWebContext.
When a new session is requested, a WebKitAutomationSession is created and the signal
WebKitWebContext::automation-started is emitted with the WebKitAutomationSession as
argument. Then, the automation client can request the session to create a new
#WebKitWebView to interact with it. When this happens the signal #WebKitAutomationSession::create-web-view
is emitted.
Get the the previously set #WebKitAutomationSession.
Get the #WebKitAutomationSession previously set with webkit_automation_session_set_application_info().
the #WebKitAutomationSession of @session, or %NULL if no one has been set.
a #WebKitAutomationSession
Get the unique identifier of a #WebKitAutomationSession
the unique identifier of @session
a #WebKitAutomationSession
Set the application information to @session.
This information will be used by the driver service
to match the requested capabilities with the actual application information. If this information
is not provided to the session when a new automation session is requested, the creation might fail
if the client requested a specific browser name or version. This will not have any effect when called
after the automation session has been fully created, so this must be called in the callback of
#WebKitWebContext::automation-started signal.
a #WebKitAutomationSession
a #WebKitApplicationInfo
The session unique identifier.
This signal is emitted when the automation client requests a new
browsing context to interact with it. The callback handler should
return a #WebKitWebView created with #WebKitWebView:is-controlled-by-automation
construct property enabled and #WebKitWebView:automation-presentation-type construct
property set if needed.
If the signal is emitted with "tab" detail, the returned #WebKitWebView should be
a new web view added to a new tab of the current browsing context window.
If the signal is emitted with "window" detail, the returned #WebKitWebView should be
a new web view added to a new window.
When creating a new web view and there's an active browsing context, the new window
or tab shouldn't be focused.
a #WebKitWebView widget.
Enum values used to specify autoplay policies.
Do not restrict autoplay.
Allow videos to autoplay if
they have no audio track, or if their audio track is muted.
Never allow autoplay.
List of visited pages.
WebKitBackForwardList maintains a list of visited pages used to
navigate to recent pages. Items are inserted in the list in the
order they are visited.
WebKitBackForwardList also maintains the notion of the current item
(which is always at index 0), the preceding item (which is at index -1),
and the following item (which is at index 1).
Methods webkit_web_view_go_back() and webkit_web_view_go_forward() move
the current item backward or forward by one. Method
webkit_web_view_go_to_back_forward_list_item() sets the current item to the
specified item. All other methods returning #WebKitBackForwardListItem<!-- -->s
do not change the value of the current item, they just return the requested
item or items.
Returns the item that precedes the current item.
the #WebKitBackForwardListItem
preceding the current item or %NULL.
a #WebKitBackForwardList
Obtain the list of items preceding the current one.
a #GList of
items preceding the current item.
a #WebKitBackForwardList
Obtain a list up to some number of items preceding the current one.
a #GList of
items preceding the current item limited by @limit.
a #WebKitBackForwardList
the number of items to retrieve
Returns the current item in @back_forward_list.
a #WebKitBackForwardListItem
or %NULL if @back_forward_list is empty.
a #WebKitBackForwardList
Returns the item that follows the current item.
the #WebKitBackForwardListItem
following the current item or %NULL.
a #WebKitBackForwardList
Obtain the list of items following the current one.
a #GList of
items following the current item.
a #WebKitBackForwardList
Obtain a list up to some number of items following the current one.
a #GList of
items following the current item limited by @limit.
a #WebKitBackForwardList
the number of items to retrieve
Obtain the amount of items in the list.
the length of @back_forward_list.
a #WebKitBackForwardList
Returns the item at a given index relative to the current item.
the #WebKitBackForwardListItem
located at the specified index relative to the current item or %NULL.
a #WebKitBackForwardList
the index of the item
This signal is emitted when @back_forward_list changes. This happens
when the current item is updated, a new item is added or one or more
items are removed. Note that both @item_added and @items_removed can
%NULL when only the current item is updated. Items are only removed
when the list is cleared or the maximum items limit is reached.
the #WebKitBackForwardListItem added or %NULL
a #GList of #WebKitBackForwardListItem<!-- -->s
One item of the #WebKitBackForwardList.
A history item is part of the #WebKitBackForwardList and consists
out of a title and a URI.
Obtain the original URI of the item.
See also webkit_back_forward_list_item_get_uri().
the original URI of @list_item or %NULL
when the original URI is empty.
a #WebKitBackForwardListItem
Obtain the title of the item.
the page title of @list_item or %NULL
when the title is empty.
a #WebKitBackForwardListItem
Obtain the URI of the item.
This URI may differ from the original URI if the page was,
for example, redirected to a new location.
See also webkit_back_forward_list_item_get_original_uri().
the URI of @list_item or %NULL
when the URI is empty.
a #WebKitBackForwardListItem
Check the version of the WebKit headers at compilation time.
major version (e.g. 1 for version 1.2.5)
minor version (e.g. 2 for version 1.2.5)
micro version (e.g. 5 for version 1.2.5)
Enum values used for determining the #WebKitWebContext cache model.
Disable the cache completely, which
substantially reduces memory usage. Useful for applications that only
access a single local file, with no navigation to other pages. No remote
resources will be cached.
Improve document load speed substantially
by caching a very large number of resources and previously viewed content.
A cache model optimized for viewing
a series of local files -- for example, a documentation viewer or a website
designer. WebKit will cache a moderate number of resources.
A permission request for reading clipboard contents.
WebKitClipboardPermissionRequest represents a request for
permission to decide whether WebKit can access the clipboard to read
its contents through the Async Clipboard API.
When a WebKitClipboardPermissionRequest is not handled by the user,
it is denied by default.
A request to open a color chooser.
Whenever the user interacts with an <input type='color' />
HTML element, WebKit will need to show a dialog to choose a color. For that
to happen in a general way, instead of just opening a #GtkColorChooser
(which might be not desirable in some cases, which could prefer to use their
own color chooser dialog), WebKit will fire the
#WebKitWebView::run-color-chooser signal with a #WebKitColorChooserRequest
object, which will allow the client application to specify the color to be
selected, to inspect the details of the request (e.g. to get initial color)
and to cancel the request, in case nothing was selected.
In case the client application does not wish to handle this signal,
WebKit will provide a default handler which will asynchronously run
a regular #GtkColorChooserDialog for the user to interact with.
Cancels @request and the input element changes to use the initial color.
Cancels @request and the input element changes to use the initial color
it has before the request started.
The signal #WebKitColorChooserRequest::finished
is emitted to notify that the request has finished.
a #WebKitColorChooserRequest
Finishes @request and the input element keeps the current value of
#WebKitColorChooserRequest:rgba.
Finishes @request and the input element keeps the current value of
#WebKitColorChooserRequest:rgba.
The signal #WebKitColorChooserRequest::finished
is emitted to notify that the request has finished.
a #WebKitColorChooserRequest
Gets the bounding box of the color input element.
a #WebKitColorChooserRequest
a #GdkRectangle to fill in with the element area
Gets the current #GdkRGBA color of @request
a #WebKitColorChooserRequest
a #GdkRGBA to fill in with the current color.
Sets the current #GdkRGBA color of @request
a #WebKitFileChooserRequest
a pointer #GdkRGBA
The #GdkRGBA color of the request
Emitted when the @request finishes. This signal can be emitted because the
user completed the @request calling webkit_color_chooser_request_finish(),
or cancelled it with webkit_color_chooser_request_cancel() or because the
color input element is removed from the DOM.
Represents the context menu in a #WebKitWebView.
#WebKitContextMenu represents a context menu containing
#WebKitContextMenuItem<!-- -->s in a #WebKitWebView.
When a #WebKitWebView is about to display the context menu, it
emits the #WebKitWebView::context-menu signal, which has the
#WebKitContextMenu as an argument. You can modify it, adding new
submenus that you can create with webkit_context_menu_new(), adding
new #WebKitContextMenuItem<!-- -->s with
webkit_context_menu_prepend(), webkit_context_menu_append() or
webkit_context_menu_insert(), maybe after having removed the
existing ones with webkit_context_menu_remove_all().
Creates a new #WebKitContextMenu object.
Creates a new #WebKitContextMenu object to be used as a submenu of an existing
#WebKitContextMenu. The context menu of a #WebKitWebView is created by the view
and passed as an argument of #WebKitWebView::context-menu signal.
To add items to the menu use webkit_context_menu_prepend(),
webkit_context_menu_append() or webkit_context_menu_insert().
See also webkit_context_menu_new_with_items() to create a #WebKitContextMenu with
a list of initial items.
The newly created #WebKitContextMenu object
Creates a new #WebKitContextMenu object with the given items.
Creates a new #WebKitContextMenu object to be used as a submenu of an existing
#WebKitContextMenu with the given initial items.
See also webkit_context_menu_new()
The newly created #WebKitContextMenu object
a #GList of #WebKitContextMenuItem
Adds @item at the end of the @menu.
a #WebKitContextMenu
the #WebKitContextMenuItem to add
Gets the first item in the @menu.
the first #WebKitContextMenuItem of @menu,
or %NULL if the #WebKitContextMenu is empty.
a #WebKitContextMenu
Gets the #GdkEvent that triggered the context menu. This function only returns a valid
#GdkEvent when called for a #WebKitContextMenu passed to #WebKitWebView::context-menu
signal; in all other cases, %NULL is returned.
The returned #GdkEvent is expected to be one of the following types:
<itemizedlist>
<listitem><para>
a #GdkEventButton of type %GDK_BUTTON_PRESS when the context menu was triggered with mouse.
</para></listitem>
<listitem><para>
a #GdkEventKey of type %GDK_KEY_PRESS if the keyboard was used to show the menu.
</para></listitem>
<listitem><para>
a generic #GdkEvent of type %GDK_NOTHING when the #GtkWidget::popup-menu signal was used to show the context menu.
</para></listitem>
</itemizedlist>
the menu event or %NULL.
a #WebKitContextMenu
Gets the item at the given position in the @menu.
the #WebKitContextMenuItem at position @position in @menu,
or %NULL if the position is off the end of the @menu.
a #WebKitContextMenu
the position of the item, counting from 0
Returns the item list of @menu.
a #GList of
#WebKitContextMenuItem<!-- -->s
a #WebKitContextMenu
Gets the length of the @menu.
the number of #WebKitContextMenuItem<!-- -->s in @menu
a #WebKitContextMenu
Gets the user data of @menu.
This function can be used from the UI Process to get user data previously set
from the Web Process with webkit_context_menu_set_user_data().
the user data of @menu, or %NULL if @menu doesn't have user data
a #WebKitContextMenu
Inserts @item into the @menu at the given position.
If @position is negative, or is larger than the number of items
in the #WebKitContextMenu, the item is added on to the end of
the @menu. The first position is 0.
a #WebKitContextMenu
the #WebKitContextMenuItem to add
the position to insert the item
Gets the last item in the @menu.
the last #WebKitContextMenuItem of @menu,
or %NULL if the #WebKitContextMenu is empty.
a #WebKitContextMenu
Moves @item to the given position in the @menu.
If @position is negative, or is larger than the number of items
in the #WebKitContextMenu, the item is added on to the end of
the @menu.
The first position is 0.
a #WebKitContextMenu
the #WebKitContextMenuItem to add
the new position to move the item
Adds @item at the beginning of the @menu.
a #WebKitContextMenu
the #WebKitContextMenuItem to add
Removes @item from the @menu.
See also webkit_context_menu_remove_all() to remove all items.
a #WebKitContextMenu
the #WebKitContextMenuItem to remove
Removes all items of the @menu.
a #WebKitContextMenu
Sets user data to @menu.
This function can be used from a Web Process extension to set user data
that can be retrieved from the UI Process using webkit_context_menu_get_user_data().
If the @user_data #GVariant is floating, it is consumed.
a #WebKitContextMenu
a #GVariant
Enum values used to denote the stock actions for
#WebKitContextMenuItem<!-- -->s
No action, used by separator menu items.
Open current link.
Open current link in a new window.
Download link destination.
Copy link location to the clipboard.
Open current image in a new window.
Download current image.
Copy current image to the clipboard.
Copy current image location to the clipboard.
Open current frame in a new window.
Load the previous history item.
Load the next history item.
Stop any ongoing loading operation.
Reload the contents of current view.
Copy current selection the clipboard.
Cut current selection to the clipboard.
Paste clipboard contents.
Delete current selection.
Select all text.
Input methods menu.
Unicode menu.
A proposed replacement for a misspelled word.
An indicator that spellchecking found no proposed replacements.
Causes the spellchecker to ignore the word for this session.
Causes the spellchecker to add the word to the dictionary.
Ignore grammar.
Font options menu.
Bold.
Italic.
Underline.
Outline.
Open current element in the inspector.
Open current video element in a new window.
Open current audio element in a new window.
Copy video link location in to the clipboard.
Copy audio link location in to the clipboard.
Enable or disable media controls.
Enable or disable media loop.
Show current video element in fullscreen mode.
Play current media element.
Pause current media element.
Mute current media element.
Download video to disk. Since 2.2
Download audio to disk. Since 2.2
Insert an emoji. Since 2.26
Paste clipboard contents as plain text. Since 2.30
Custom action defined by applications.
One item of a #WebKitContextMenu.
The #WebKitContextMenu is composed of #WebKitContextMenuItem<!--
-->s. These items can be created from a #GtkAction, from a
#WebKitContextMenuAction or from a #WebKitContextMenuAction and a
label. These #WebKitContextMenuAction<!-- -->s denote stock actions
for the items. You can also create separators and submenus.
Creates a new #WebKitContextMenuItem for the given @action.
Use webkit_context_menu_item_new_from_gaction() instead.
the newly created #WebKitContextMenuItem object.
a #GtkAction
Creates a new #WebKitContextMenuItem for the given @action and @label.
On activation
@target will be passed as parameter to the callback.
the newly created #WebKitContextMenuItem object.
a #GAction
the menu item label text
a #GVariant to use as the action target
Creates a new #WebKitContextMenuItem for the given stock action.
Stock actions are handled automatically by WebKit so that, for example,
when a menu item created with a %WEBKIT_CONTEXT_MENU_ACTION_STOP is
activated the action associated will be handled by WebKit and the current
load operation will be stopped. You can get the #GAction of a
#WebKitContextMenuItem created with a #WebKitContextMenuAction with
webkit_context_menu_item_get_gaction() and connect to the #GSimpleAction::activate signal
to be notified when the item is activated, but you can't prevent the associated
action from being performed.
the newly created #WebKitContextMenuItem object.
a #WebKitContextMenuAction stock action
Creates a new #WebKitContextMenuItem for the given stock action using the given @label.
Stock actions have a predefined label, this method can be used to create a
#WebKitContextMenuItem for a #WebKitContextMenuAction but using a custom label.
the newly created #WebKitContextMenuItem object.
a #WebKitContextMenuAction stock action
a custom label text to use instead of the predefined one
Creates a new #WebKitContextMenuItem representing a separator.
the newly created #WebKitContextMenuItem object.
Creates a new #WebKitContextMenuItem using the given @label with a submenu.
the newly created #WebKitContextMenuItem object.
the menu item label text
a #WebKitContextMenu to set
Gets the action associated to @item as a #GtkAction.
Use webkit_context_menu_item_get_gaction() instead.
the #GtkAction associated to the #WebKitContextMenuItem,
or %NULL if @item is a separator.
a #WebKitContextMenuItem
Gets the action associated to @item as a #GAction.
the #GAction associated to the #WebKitContextMenuItem,
or %NULL if @item is a separator.
a #WebKitContextMenuItem
Gets the #WebKitContextMenuAction of @item.
If the #WebKitContextMenuItem was not
created for a stock action %WEBKIT_CONTEXT_MENU_ACTION_CUSTOM will be
returned. If the #WebKitContextMenuItem is a separator %WEBKIT_CONTEXT_MENU_ACTION_NO_ACTION
will be returned.
the #WebKitContextMenuAction of @item
a #WebKitContextMenuItem
Gets the submenu of @item.
the #WebKitContextMenu representing the submenu of
@item or %NULL if @item doesn't have a submenu.
a #WebKitContextMenuItem
Checks whether @item is a separator.
%TRUE is @item is a separator or %FALSE otherwise
a #WebKitContextMenuItem
Sets or replaces the @item submenu.
If @submenu is %NULL the current
submenu of @item is removed.
a #WebKitContextMenuItem
a #WebKitContextMenu
Enum values used to denote the cookie acceptance policies.
Accept all cookies unconditionally.
Reject all cookies unconditionally.
Accept only cookies set by the main document loaded.
Defines how to handle cookies in a #WebKitWebContext.
The WebKitCookieManager defines how to set up and handle cookies.
You can get it from a #WebKitWebsiteDataManager with
webkit_website_data_manager_get_cookie_manager(), and use it to set where to
store cookies with webkit_cookie_manager_set_persistent_storage(),
or to set the acceptance policy, with webkit_cookie_manager_get_accept_policy().
Asynchronously add a #SoupCookie to the underlying storage.
When the operation is finished, @callback will be called. You can then call
webkit_cookie_manager_add_cookie_finish() to get the result of the operation.
a #WebKitCookieManager
the #SoupCookie to be added
a #GCancellable or %NULL to ignore
a #GAsyncReadyCallback to call when the request is satisfied
the data to pass to callback function
Finish an asynchronous operation started with webkit_cookie_manager_add_cookie().
%TRUE if the cookie was added or %FALSE in case of error.
a #WebKitCookieManager
a #GAsyncResult
Delete all cookies of @cookie_manager.
Use webkit_website_data_manager_clear() instead.
a #WebKitCookieManager
Asynchronously delete a #SoupCookie from the current session.
When the operation is finished, @callback will be called. You can then call
webkit_cookie_manager_delete_cookie_finish() to get the result of the operation.
a #WebKitCookieManager
the #SoupCookie to be deleted
a #GCancellable or %NULL to ignore
a #GAsyncReadyCallback to call when the request is satisfied
the data to pass to callback function
Finish an asynchronous operation started with webkit_cookie_manager_delete_cookie().
%TRUE if the cookie was deleted or %FALSE in case of error.
a #WebKitCookieManager
a #GAsyncResult
Remove all cookies of @cookie_manager for the given @domain.
Use webkit_website_data_manager_remove() instead.
a #WebKitCookieManager
a domain name
Asynchronously get the cookie acceptance policy of @cookie_manager.
Note that when policy was set to %WEBKIT_COOKIE_POLICY_ACCEPT_NO_THIRD_PARTY and
ITP is enabled, this will return %WEBKIT_COOKIE_POLICY_ACCEPT_ALWAYS.
See also webkit_website_data_manager_set_itp_enabled().
When the operation is finished, @callback will be called. You can then call
webkit_cookie_manager_get_accept_policy_finish() to get the result of the operation.
a #WebKitCookieManager
a #GCancellable or %NULL to ignore
a #GAsyncReadyCallback to call when the request is satisfied
the data to pass to callback function
Finish an asynchronous operation started with webkit_cookie_manager_get_accept_policy().
the cookie acceptance policy of @cookie_manager as a #WebKitCookieAcceptPolicy.
a #WebKitCookieManager
a #GAsyncResult
Asynchronously get a list of #SoupCookie from @cookie_manager.
When the operation is finished, @callback will be called. You can then call
webkit_cookie_manager_get_all_cookies_finish() to get the result of the operation.
a #WebKitCookieManager
a #GCancellable or %NULL to ignore
(closure user_data): a #GAsyncReadyCallback to call when the request is satisfied
the data to pass to callback function
Finish an asynchronous operation started with webkit_cookie_manager_get_all_cookies().
The return value is a #GList of #SoupCookie instances which should be released
with g_list_free_full() and soup_cookie_free().
A #GList of #SoupCookie instances.
a #WebKitCookieManager
a #GAsyncResult
Asynchronously get a list of #SoupCookie from @cookie_manager.
Asynchronously get a list of #SoupCookie from @cookie_manager associated with @uri, which
must be either an HTTP or an HTTPS URL.
When the operation is finished, @callback will be called. You can then call
webkit_cookie_manager_get_cookies_finish() to get the result of the operation.
a #WebKitCookieManager
the URI associated to the cookies to be retrieved
a #GCancellable or %NULL to ignore
a #GAsyncReadyCallback to call when the request is satisfied
the data to pass to callback function
Finish an asynchronous operation started with webkit_cookie_manager_get_cookies().
The return value is a #GList of #SoupCookie instances which should be released
with g_list_free_full() and soup_cookie_free().
A #GList of #SoupCookie instances.
a #WebKitCookieManager
a #GAsyncResult
Asynchronously get the list of domains for which @cookie_manager contains cookies.
When the operation is finished, @callback will be called. You can then call
webkit_cookie_manager_get_domains_with_cookies_finish() to get the result of the operation.
Use webkit_website_data_manager_fetch() instead.
a #WebKitCookieManager
a #GCancellable or %NULL to ignore
a #GAsyncReadyCallback to call when the request is satisfied
the data to pass to callback function
Finish an asynchronous operation started with webkit_cookie_manager_get_domains_with_cookies().
The return value is a %NULL terminated list of strings which should
be released with g_strfreev().
Use webkit_website_data_manager_fetch_finish() instead.
A %NULL terminated array of domain names
or %NULL in case of error.
a #WebKitCookieManager
a #GAsyncResult
Asynchronously replace all cookies in @cookie_manager with the given list of @cookies.
When the operation is finished, @callback will be called. You can then call
webkit_cookie_manager_replace_cookies_finish() to get the result of the operation.
a #WebKitCookieManager
a #GList of #SoupCookie to be added
a #GCancellable or %NULL to ignore
(closure user_data): a #GAsyncReadyCallback to call when the request is satisfied
the data to pass to callback function
Finish an asynchronous operation started with webkit_cookie_manager_replace_cookies().
%TRUE if the cookies were added or %FALSE in case of error.
a #WebKitCookieManager
a #GAsyncResult
Set the cookie acceptance policy of @cookie_manager as @policy.
Note that ITP has its own way to handle third-party cookies, so when it's enabled,
and @policy is set to %WEBKIT_COOKIE_POLICY_ACCEPT_NO_THIRD_PARTY, %WEBKIT_COOKIE_POLICY_ACCEPT_ALWAYS
will be used instead. Once disabled, the policy will be set back to %WEBKIT_COOKIE_POLICY_ACCEPT_NO_THIRD_PARTY.
See also webkit_website_data_manager_set_itp_enabled().
a #WebKitCookieManager
a #WebKitCookieAcceptPolicy
Set non-session cookies.
Set the @filename where non-session cookies are stored persistently using
@storage as the format to read/write the cookies.
Cookies are initially read from @filename to create an initial set of cookies.
Then, non-session cookies will be written to @filename when the WebKitCookieManager::changed
signal is emitted.
By default, @cookie_manager doesn't store the cookies persistently, so you need to call this
method to keep cookies saved across sessions.
This method should never be called on a #WebKitCookieManager associated to an ephemeral #WebKitWebsiteDataManager.
a #WebKitCookieManager
the filename to read to/write from
a #WebKitCookiePersistentStorage
This signal is emitted when cookies are added, removed or modified.
Enum values used to denote the cookie persistent storage types.
Cookies are stored in a text
file in the Mozilla "cookies.txt" format.
Cookies are stored in a SQLite
file in the current Mozilla format.
Groups information used for user authentication.
Create a new credential from the provided username, password and persistence mode.
A #WebKitCredential.
The username for the new credential
The password for the new credential
The #WebKitCredentialPersistence of the new credential
Create a new credential from the @certificate and persistence mode.
Note that %WEBKIT_CREDENTIAL_PERSISTENCE_PERMANENT is not supported for certificate credentials.
A #WebKitCredential.
The #GTlsCertificate, or %NULL
The #WebKitCredentialPersistence of the new credential
Create a new credential from the provided PIN and persistence mode.
Note that %WEBKIT_CREDENTIAL_PERSISTENCE_PERMANENT is not supported for certificate pin credentials.
A #WebKitCredential.
The PIN for the new credential
The #WebKitCredentialPersistence of the new credential
Make a copy of the #WebKitCredential.
A copy of passed in #WebKitCredential
a #WebKitCredential
Free the #WebKitCredential.
A #WebKitCredential
Get the certificate currently held by this #WebKitCredential.
a #GTlsCertificate, or %NULL
a #WebKitCredential
Get the password currently held by this #WebKitCredential.
The password stored in the #WebKitCredential.
a #WebKitCredential
Get the persistence mode currently held by this #WebKitCredential.
The #WebKitCredentialPersistence stored in the #WebKitCredential.
a #WebKitCredential
Get the username currently held by this #WebKitCredential.
The username stored in the #WebKitCredential.
a #WebKitCredential
Determine whether this credential has a password stored.
%TRUE if the credential has a password or %FALSE otherwise.
a #WebKitCredential
Enum values representing the duration for which a credential persists.
Credential does not persist
Credential persists for session only
Credential persists permanently
Marks a symbol as deprecated, indicating a replacement.
replacement symbol name
A permission request for accessing user's audio/video devices.
WebKitUserMediaPermissionRequest represents a request for
permission to whether WebKit should be allowed to access the user's
devices information when requested through the enumerateDevices API.
When a WebKitDeviceInfoPermissionRequest is not handled by the user,
it is denied by default.
Object used to communicate with the application when downloading.
#WebKitDownload carries information about a download request and
response, including a #WebKitURIRequest and a #WebKitURIResponse
objects. The application may use this object to control the
download process, or to simply figure out what is to be downloaded,
and handle the download process itself.
Cancels the download.
When the ongoing download
operation is effectively cancelled the signal
#WebKitDownload::failed is emitted with
%WEBKIT_DOWNLOAD_ERROR_CANCELLED_BY_USER error.
a #WebKitDownload
Returns the current value of the #WebKitDownload:allow-overwrite property.
Returns the current value of the #WebKitDownload:allow-overwrite property,
which determines whether the download will overwrite an existing file on
disk, or if it will fail if the destination already exists.
the current value of the #WebKitDownload:allow-overwrite property
a #WebKitDownload
Obtains the destination to which the downloaded file will be written.
You can connect to #WebKitDownload::created-destination to make
sure this method returns a valid destination.
the destination or %NULL
a #WebKitDownload
Gets the elapsed time in seconds, including any fractional part.
If the download finished, had an error or was cancelled this is
the time between its start and the event.
seconds since the download was started
a #WebKitDownload
Gets the value of the #WebKitDownload:estimated-progress property.
Gets the value of the #WebKitDownload:estimated-progress property.
You can monitor the estimated progress of the download operation by
connecting to the notify::estimated-progress signal of @download.
an estimate of the of the percent complete for a download
as a range from 0.0 to 1.0.
a #WebKitDownload
Gets the length of the data already downloaded for @download.
Gets the length of the data already downloaded for @download
in bytes.
the amount of bytes already downloaded.
a #WebKitDownload
Retrieves the #WebKitURIRequest object that backs the download
process.
the #WebKitURIRequest of @download
a #WebKitDownload
Retrieves the #WebKitURIResponse object that backs the download process.
Retrieves the #WebKitURIResponse object that backs the download
process. This method returns %NULL if called before the response
is received from the server. You can connect to notify::response
signal to be notified when the response is received.
the #WebKitURIResponse, or %NULL if
the response hasn't been received yet.
a #WebKitDownload
Get the #WebKitWebView that initiated the download.
the #WebKitWebView that initiated @download,
or %NULL if @download was not initiated by a #WebKitWebView.
a #WebKitDownload
Sets the #WebKitDownload:allow-overwrite property.
Sets the #WebKitDownload:allow-overwrite property, which determines whether
the download may overwrite an existing file on disk, or if it will fail if
the destination already exists.
a #WebKitDownload
the new value for the #WebKitDownload:allow-overwrite property
Sets the destination to which the downloaded file will be written.
This method should be called before the download transfer
starts or it will not have any effect on the ongoing download
operation. To set the destination using the filename suggested
by the server connect to #WebKitDownload::decide-destination
signal and call webkit_download_set_destination(). If you want to
set a fixed destination that doesn't depend on the suggested
filename you can connect to notify::response signal and call
webkit_download_set_destination().
If #WebKitDownload::decide-destination signal is not handled
and destination is not set when the download transfer starts,
the file will be saved with the filename suggested by the server in
%G_USER_DIRECTORY_DOWNLOAD directory.
a #WebKitDownload
the destination
Whether or not the download is allowed to overwrite an existing file on
disk. If this property is %FALSE and the destination already exists,
the download will fail.
The local path to where the download will be saved.
An estimate of the percent completion for the download operation.
This value will range from 0.0 to 1.0. The value is an estimate
based on the total number of bytes expected to be received for
a download.
If you need a more accurate progress information you can connect to
#WebKitDownload::received-data signal to track the progress.
The #WebKitURIResponse associated with this download.
This signal is emitted after #WebKitDownload::decide-destination and before
#WebKitDownload::received-data to notify that destination file has been
created successfully at @destination.
the destination
This signal is emitted after response is received to
decide a destination for the download using
webkit_download_set_destination(). If this signal is not
handled, the file will be downloaded to %G_USER_DIRECTORY_DOWNLOAD
directory using @suggested_filename.
Since 2.40, you may handle this signal asynchronously by
returning %TRUE without calling webkit_download_set_destination().
This indicates intent to eventually call webkit_download_set_destination().
In this case, the download will not proceed until the destination is set
or cancelled with webkit_download_cancel().
%TRUE to stop other handlers from being invoked for the event,
or %FALSE to propagate the event further.
the filename suggested for the download
This signal is emitted when an error occurs during the download
operation. The given @error, of the domain %WEBKIT_DOWNLOAD_ERROR,
contains further details of the failure. If the download is cancelled
with webkit_download_cancel(), this signal is emitted with error
%WEBKIT_DOWNLOAD_ERROR_CANCELLED_BY_USER. The download operation finishes
after an error and #WebKitDownload::finished signal is emitted after this one.
the #GError that was triggered
This signal is emitted when download finishes successfully or due to an error.
In case of errors #WebKitDownload::failed signal is emitted before this one.
This signal is emitted after response is received,
every time new data has been written to the destination. It's
useful to know the progress of the download operation.
the length of data received in bytes
Enum values used to denote the various download errors.
Download failure due to network error
Download was cancelled by user
Download failure due to destination error
Gets the quark for the domain of download errors.
download error domain.
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.
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()
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.
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().
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.
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.
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.
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().
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.
Web editor state.
WebKitEditorState represents the state of a #WebKitWebView editor.
Use webkit_web_view_get_editor_state() to get the WebKitEditorState
of a #WebKitWebView.
Gets the typing attributes at the current cursor position.
If there is a selection, this returns the typing attributes
of the selected text. Note that in case of a selection,
typing attributes are considered active only when they are
present throughout the selection.
a bitmask of #WebKitEditorTypingAttributes flags
a #WebKitEditorState
Gets whether a copy command can be issued.
%TRUE if copy is currently available
a #WebKitEditorState
Gets whether a cut command can be issued.
%TRUE if cut is currently available
a #WebKitEditorState
Gets whether a paste command can be issued.
%TRUE if paste is currently available
a #WebKitEditorState
Gets whether a redo command can be issued.
%TRUE if redo is currently available
a #WebKitEditorState
Gets whether an undo command can be issued.
%TRUE if undo is currently available
a #WebKitEditorState
Bitmask of #WebKitEditorTypingAttributes flags.
See webkit_editor_state_get_typing_attributes() for more information.
Emitted when the #WebKitEdtorState is changed.
Enum values with flags representing typing attributes.
No typing attributes.
Bold typing attribute.
Italic typing attribute.
Underline typing attribute.
Strikethrough typing attribute.
Provides access to the icons associated with web sites.
WebKit will automatically look for available icons in <link>
elements on opened pages as well as an existing favicon.ico and
load the images found into a memory cache if possible. That cache
is frozen to an on-disk database for persistence.
If #WebKitSettings:enable-private-browsing is %TRUE, new icons
won't be added to the on-disk database and no existing icons will
be deleted from it. Nevertheless, WebKit will still store them in
the in-memory cache during the current execution.
Clears all icons from the database.
a #WebKitFaviconDatabase
Asynchronously obtains a favicon image.
Asynchronously obtains an image of the favicon for the
given page URI. It returns the cached icon if it's in the database
asynchronously waiting for the icon to be read from the database.
This is an asynchronous method. When the operation is finished, callback will
be invoked. You can then call webkit_favicon_database_get_favicon_finish()
to get the result of the operation.
a #WebKitFaviconDatabase
URI of the page for which we want to retrieve the favicon
A #GCancellable or %NULL.
A #GAsyncReadyCallback to call when the request is
satisfied or %NULL if you don't care about the result.
The data to pass to @callback.
Finishes an operation started with webkit_favicon_database_get_favicon().
a new favicon image, or %NULL in case of error.
a #WebKitFaviconDatabase
A #GAsyncResult obtained from the #GAsyncReadyCallback passed to webkit_favicon_database_get_favicon()
Obtains the URI of the favicon for the given @page_uri.
a newly allocated URI for the favicon, or %NULL if the
database doesn't have a favicon for @page_uri.
a #WebKitFaviconDatabase
URI of the page containing the icon
This signal is emitted when the favicon URI of @page_uri has
been changed to @favicon_uri in the database. You can connect
to this signal and call webkit_favicon_database_get_favicon()
to get the favicon. If you are interested in the favicon of a
#WebKitWebView it's easier to use the #WebKitWebView:favicon
property. See webkit_web_view_get_favicon() for more details.
the URI of the Web page containing the icon
the URI of the favicon
Enum values used to denote the various errors related to the #WebKitFaviconDatabase.
The #WebKitFaviconDatabase is closed
There is not an icon available for the requested URL
There might be an icon for the requested URL, but its data is unknown at the moment
Gets the quark for the domain of favicon database errors.
favicon database error domain.
Describes a web engine feature that may be toggled at runtime.
The WebKit web engine includes a set of features which may be toggled
programmatically, each one represented by a #WebKitFeature that provides
information about it:
- A unique “identifier”: [method@Feature.get_identifier].
- A “default value”, which indicates whether the option is enabled
automatically: [method@Feature.get_default_value].
- Its “status”, which determines whether it should be considered
user-settable and its development stage (see [enum@FeatureStatus]
for details): [method@Feature.get_status].
- A category, which may be used to group features together:
[method@Feature.get_category].
- An optional short “name” which can be presented to an user:
[method@Feature.get_name].
- An optional longer “detailed” description:
[method@Feature.get_details].
The lists of available features can be obtained with
[func@Settings.get_all_features], [func@Settings.get_experimental_features],
and [func@Settings.get_development_features]). As a rule of thumb,
applications which may want to allow users (i.e. web developers) to test
WebKit features should use the list of experimental features. Additionally,
applications might want to expose development features *when targeting
technically inclined users* for early testing of in-development features
(i.e. in “technology preview” or “canary” builds).
Applications **must not** expose the list of all features to end users
because they often lack descriptions and control parts of the web engine
which are either intended to be used during development of WebKit itself,
or in specific scenarios to tweak how WebKit integrates with the
application.
Gets the category of the feature.
Applications which include user interface to toggle features may want
to use the category to group related features together.
Feature category.
a #WebKitFeature
Gets whether the feature is enabled by default.
The default value may be used by applications which include user interface
to toggle features to restore its settings to their defaults. Note that
whether a feature is actually enabled must be checked with
[method@Settings.get_feature_enabled].
Whether the feature is enabled by default.
a #WebKitFeature
Gets a description for the @feature.
The detailed description should be considered an additional clarification
on the purpose of the feature, to be used as complementary aid to be
displayed along the feature name returned by [method@Feature.get_name].
The returned string is suitable to be displayed to end users, but it
should not be relied upon being localized.
Note that some *features may not* have a detailed description, and @NULL
is returned in this case.
Feature description.
a #WebKitFeature
Gets a string that uniquely identifies the @feature.
The identifier string for the feature.
a #WebKitFeature
Gets a short name for the @feature.
The returned string is suitable to be displayed to end users, but it
should not be relied upon being localized.
Note that some *features may not* have a short name, and @NULL
is returned in this case.
Short feature name.
a #WebKitFeature
Gets the status of the feature.
Feature status.
a #WebKitFeature
Atomically acquires a reference on the given @feature.
This function is MT-safe and may be called from any thread.
The same @feature with an additional reference.
a #WebKitFeature
Atomically releases a reference on the given @feature.
If the reference was the last, the resources associated to the
@feature are freed. This function is MT-safe and may be called from
any thread.
a #WebKitFeature
Contains a set of toggle-able web engine features.
The list supports passing around a set of [struct@Feature] objects and
iterating over them:
```c
g_autoptr(WebKitFeatureList) list = webkit_settings_get_experimental_features();
for (gsize i = 0; i < webkit_feature_list_get_length(list): i++) {
WebKitFeature *feature = webkit_feature_list_get(list, i);
// Do something with "feature".
}
```
Lists of features can be obtained with
[func@Settings.get_experimental_features],
[func@Settings.get_development_features], and
[func@Settings.get_all_features].
Gets a feature given its index.
The feature at @index.
a #WebKitFeatureList
index of the feature
Gets the number of elements in the feature list.
number of elements.
Since 2.42
a #WebKitFeatureList
Atomically acquires a reference on the given @feature_list.
This function is MT-safe and may be called from any thread.
The same @feature_list with an additional reference.
a #WebKitFeatureList
Atomically releases a reference on the given @feature_list.
If the reference was the last, the resources associated to the
@feature_list are freed. This function is MT-safe and may be called
from any thread.
a #WebKitFeatureList
Describes the status of a [struct@WebKitFeature].
The status for a given feature can be obtained with
[id@webkit_feature_get_status].
Feature that adjust behaviour for
specific application needs. The feature is not part of a Web platform
feature, not a mature feature intended to be always on.
Feature in development. The feature
may be unfinished, and there are no guarantees about its safety and
stability.
Feature for debugging the WebKit engine.
The feature is not generally useful for user or web developers, and
always disabled by default.
Feature for web developers. The feature
is not generally useful for end users, and always disabled by default.
Feature in active development and
complete enough for testing. The feature may not be yet ready to
ship and is disabled by default.
Feature ready to be tested by users.
The feature is disabled by default, but may be enabled by applications
automatically e.g. in their “technology preview” or “beta” versions.
Feature ready for general use. The
feature is enabled by default, but it may still be toggled to support
debugging and testing.
Feature in general use. The feature is
always enabled and in general there should be no user-facing interface
to toggle it.
A request to open a file chooser.
Whenever the user interacts with an HTML input element with
file type, WebKit will need to show a dialog to choose one or
more files to be uploaded to the server along with the rest of the
form data. For that to happen in a general way, instead of just
opening a #GtkFileChooserDialog (which might be not desirable in
some cases, which could prefer to use their own file chooser
dialog), WebKit will fire the #WebKitWebView::run-file-chooser
signal with a #WebKitFileChooserRequest object, which will allow
the client application to specify the files to be selected, to
inspect the details of the request (e.g. if multiple selection
should be allowed) and to cancel the request, in case nothing was
selected.
In case the client application does not wish to handle this signal,
WebKit will provide a default handler which will asynchronously run
a regular #GtkFileChooserDialog for the user to interact with.
Ask WebKit to cancel the request.
It's important to do this in case
no selection has been made in the client, otherwise the request
won't be properly completed and the browser will keep the request
pending forever, which might cause the browser to hang.
a #WebKitFileChooserRequest
Get the list of MIME types the file chooser dialog should handle.
Get the list of MIME types the file chooser dialog should handle,
in the format specified in RFC 2046 for "media types". Its contents
depend on the value of the 'accept' attribute for HTML input
elements. This function should normally be called before presenting
the file chooser dialog to the user, to decide whether to allow the
user to select multiple files at once or only one.
a
%NULL-terminated array of strings if a list of accepted MIME types
is defined or %NULL otherwise, meaning that any MIME type should be
accepted. This array and its contents are owned by WebKit and
should not be modified or freed.
a #WebKitFileChooserRequest
Get the filter currently associated with the request.
Get the filter currently associated with the request, ready to be
used by #GtkFileChooser. This function should normally be called
before presenting the file chooser dialog to the user, to decide
whether to apply a filter so the user would not be allowed to
select files with other MIME types.
See webkit_file_chooser_request_get_mime_types() if you are
interested in getting the list of accepted MIME types.
a #GtkFileFilter if a list of accepted
MIME types is defined or %NULL otherwise. The returned object is
owned by WebKit should not be modified or freed.
a #WebKitFileChooserRequest
Whether the file chooser should allow selecting multiple files.
Determine whether the file chooser associated to this
#WebKitFileChooserRequest should allow selecting multiple files,
which depends on the HTML input element having a 'multiple'
attribute defined.
%TRUE if the file chooser should allow selecting multiple files or %FALSE otherwise.
a #WebKitFileChooserRequest
Get the list of selected files associated to the request.
Get the list of selected files currently associated to the
request. Initially, the return value of this method contains any
files selected in previous file chooser requests for this HTML
input element. Once webkit_file_chooser_request_select_files, the
value will reflect whatever files are given.
This function should normally be called only before presenting the
file chooser dialog to the user, to decide whether to perform some
extra action, like pre-selecting the files from a previous request.
a
%NULL-terminated array of strings if there are selected files
associated with the request or %NULL otherwise. This array and its
contents are owned by WebKit and should not be modified or
freed.
a #WebKitFileChooserRequest
Ask WebKit to select local files for upload and complete the
request.
a #WebKitFileChooserRequest
a
%NULL-terminated array of strings, containing paths to local files.
The filter currently associated with the request. See
webkit_file_chooser_request_get_mime_types_filter() for more
details.
A %NULL-terminated array of strings containing the list of MIME
types the file chooser dialog should handle. See
webkit_file_chooser_request_get_mime_types() for more details.
Whether the file chooser should allow selecting multiple
files. See
webkit_file_chooser_request_get_select_multiple() for
more details.
A %NULL-terminated array of strings containing the list of
selected files associated to the current request. See
webkit_file_chooser_request_get_selected_files() for more details.
Controls text search in a #WebKitWebView.
A #WebKitFindController is used to search text in a #WebKitWebView. You
can get a #WebKitWebView<!-- -->'s #WebKitFindController with
webkit_web_view_get_find_controller(), and later use it to search
for text using webkit_find_controller_search(), or get the
number of matches using webkit_find_controller_count_matches(). The
operations are asynchronous and trigger signals when ready, such as
#WebKitFindController::found-text,
#WebKitFindController::failed-to-find-text or
#WebKitFindController::counted-matches<!-- -->.
Counts the number of matches for @search_text.
Counts the number of matches for @search_text found in the
#WebKitWebView with the provided @find_options. The number of
matches will be provided by the
#WebKitFindController::counted-matches signal.
the #WebKitFindController
the text to look for
a bitmask with the #WebKitFindOptions used in the search
the maximum number of matches allowed in the search
Gets the maximum number of matches to report.
Gets the maximum number of matches to report during a text
lookup. This number is passed as the last argument of
webkit_find_controller_search() or
webkit_find_controller_count_matches().
the maximum number of matches to report.
the #WebKitFindController
Gets the #WebKitFindOptions for the current search.
Gets a bitmask containing the #WebKitFindOptions associated with
the current search.
a bitmask containing the #WebKitFindOptions associated
with the current search.
the #WebKitFindController
Gets the text that @find_controller is searching for.
Gets the text that @find_controller is currently searching
for. This text is passed to either
webkit_find_controller_search() or
webkit_find_controller_count_matches().
the text to look for in the #WebKitWebView.
the #WebKitFindController
Gets the #WebKitWebView this find controller is associated to.
Do
not dereference the returned instance as it belongs to the
#WebKitFindController.
the #WebKitWebView.
the #WebKitFindController
Looks for @search_text associated with @find_controller.
Looks for @search_text in the #WebKitWebView associated with
@find_controller since the beginning of the document highlighting
up to @max_match_count matches. The outcome of the search will be
asynchronously provided by the #WebKitFindController::found-text
and #WebKitFindController::failed-to-find-text signals.
To look for the next or previous occurrences of the same text
with the same find options use webkit_find_controller_search_next()
and/or webkit_find_controller_search_previous(). The
#WebKitFindController will use the same text and options for the
following searches unless they are modified by another call to this
method.
Note that if the number of matches is higher than @max_match_count
then #WebKitFindController::found-text will report %G_MAXUINT matches
instead of the actual number.
Callers should call webkit_find_controller_search_finish() to
finish the current search operation.
the #WebKitFindController
the text to look for
a bitmask with the #WebKitFindOptions used in the search
the maximum number of matches allowed in the search
Finishes a find operation.
Finishes a find operation started by
webkit_find_controller_search(). It will basically unhighlight
every text match found.
This method will be typically called when the search UI is
closed/hidden by the client application.
a #WebKitFindController
Looks for the next occurrence of the search text.
Calling this method before webkit_find_controller_search() or
webkit_find_controller_count_matches() is a programming error.
the #WebKitFindController
Looks for the previous occurrence of the search text.
Calling this method before webkit_find_controller_search() or
webkit_find_controller_count_matches() is a programming error.
the #WebKitFindController
The maximum number of matches to report for a given search.
The options to be used in the search operation.
The current search text for this #WebKitFindController.
The #WebKitWebView this controller is associated to.
This signal is emitted when the #WebKitFindController has
counted the number of matches for a given text after a call
to webkit_find_controller_count_matches().
the number of matches of the search text
This signal is emitted when a search operation does not find
any result for the given text. It will be issued if the text
is not found asynchronously after a call to
webkit_find_controller_search(), webkit_find_controller_search_next()
or webkit_find_controller_search_previous().
This signal is emitted when a given text is found in the web
page text. It will be issued if the text is found
asynchronously after a call to webkit_find_controller_search(),
webkit_find_controller_search_next() or
webkit_find_controller_search_previous().
the number of matches found of the search text
Enum values used to specify search options.
no search flags, this means a case
sensitive, no wrap, forward only search.
case insensitive search.
search text only at the
begining of the words.
treat
capital letters in the middle of words as word start.
search backwards.
if not present search will stop
at the end of the document.
Represents a form submission request.
When a form is about to be submitted in a #WebKitWebView, the
#WebKitWebView::submit-form signal is emitted. Its request argument
contains information about the text fields of the form, that are
typically used to store login information, returned as lists by
webkit_form_submission_request_list_text_fields(). You can submit the
form with webkit_form_submission_request_submit().
Get the values of the text fields contained in the form associated to @request.
Get a #GHashTable with the values of the text fields contained in the form
associated to @request. Note that fields will be missing if the form
contains multiple text input elements with the same name, so this
function does not reliably return all text fields.
Use webkit_form_submission_request_list_text_fields() instead.
a #GHashTable with the form
text fields, or %NULL if the form doesn't contain text fields.
a #WebKitFormSubmissionRequest
Get lists of the text fields contained in the form associated to @request.
Get lists with the names and values of the text fields contained in
the form associated to @request. Note that names and values may be
%NULL.
If this function returns %FALSE, then both @field_names and
@field_values will be empty.
%TRUE if the form contains text fields, or %FALSE otherwise
a #WebKitFormSubmissionRequest
names of the text fields in the form
values of the text fields in the form
Continue the form submission.
a #WebKitFormSubmissionRequest
Geolocation manager.
WebKitGeolocationManager provides API to get the geographical position of the user.
Once a #WebKitGeolocationPermissionRequest is allowed, when WebKit needs to know the
user location #WebKitGeolocationManager::start signal is emitted. If the signal is handled
and returns %TRUE, the application is responsible for providing the position every time it's
updated by calling webkit_geolocation_manager_update_position(). The signal #WebKitGeolocationManager::stop
will be emitted when location updates are no longer needed.
Notify @manager that determining the position failed.
a #WebKitGeolocationManager
the error message
Get whether high accuracy is enabled.
Whether the setting is enabled.
a #WebKitGeolocationManager
Notify @manager that position has been updated to @position.
a #WebKitGeolocationManager
a #WebKitGeolocationPosition
Whether high accuracy is enabled. This is a read-only property that will be
set to %TRUE when a #WebKitGeolocationManager needs to get accurate position updates.
You can connect to notify::enable-high-accuracy signal to monitor it.
The signal is emitted to notify that @manager needs to start receiving
position updates. After this signal is emitted the user should provide
the updates using webkit_geolocation_manager_update_position() every time
the position changes, or use webkit_geolocation_manager_failed() in case
it isn't possible to determine the current position.
If the signal is not handled, WebKit will try to determine the position
using GeoClue if available.
%TRUE to stop other handlers from being invoked for the event.
%FALSE to propagate the event further.
The signal is emitted to notify that @manager doesn't need to receive
position updates anymore.
A permission request for sharing the user's location.
WebKitGeolocationPermissionRequest represents a request for
permission to decide whether WebKit should provide the user's
location to a website when requested through the Geolocation API.
When a WebKitGeolocationPermissionRequest is not handled by the user,
it is denied by default.
When embedding web views in your application, you *must* configure an
application identifier to allow web content to use geolocation services.
The identifier *must* match the name of the `.desktop` file which describes
the application, sans the suffix.
If your application uses #GApplication (or any subclass like
#GtkApplication), WebKit will automatically use the identifier returned by
g_application_get_application_id(). This is the recommended approach for
enabling geolocation in applications.
If an identifier cannot be obtained through #GApplication, the value
returned by g_get_prgname() will be used instead as a fallback. For
programs which cannot use #GApplication, calling g_set_prgname() early
during initialization is needed when the name of the executable on disk
does not match the name of a valid `.desktop` file.
An opaque struct to provide position updates to a #WebKitGeolocationManager.
WebKitGeolocationPosition is an opaque struct used to provide position updates to a
#WebKitGeolocationManager using webkit_geolocation_manager_update_position().
Create a new #WebKitGeolocationPosition.
a newly created #WebKitGeolocationPosition
a valid latitude in degrees
a valid longitude in degrees
accuracy of location in meters
Make a copy of the #WebKitGeolocationPosition.
a copy of @position
a #WebKitGeolocationPosition
Free the #WebKitGeolocationPosition
a #WebKitGeolocationPosition
Set the @position altitude.
a #WebKitGeolocationPosition
altitude in meters
Set the accuracy of @position altitude.
a #WebKitGeolocationPosition
accuracy of position altitude in meters
Set the @position heading.
Set the @position heading, as a positive angle between the direction of movement and the North
direction, in clockwise direction.
a #WebKitGeolocationPosition
heading in degrees
Set the @position speed.
a #WebKitGeolocationPosition
speed in meters per second
Set the @position timestamp.
By default it's the time when the @position was created.
a #WebKitGeolocationPosition
timestamp in seconds since the epoch, or 0 to use current time
Enum values used for determining the hardware acceleration policy.
Hardware acceleration is enabled/disabled as request by web contents.
Hardware acceleration is always enabled, even for websites not requesting it.
Hardware acceleration is always disabled, even for websites requesting it.
Result of a Hit Test.
A Hit Test is an operation to get context information about a given
point in a #WebKitWebView. #WebKitHitTestResult represents the
result of a Hit Test. It provides context information about what is
at the coordinates of the Hit Test, such as if there's a link,
an image or a media.
You can get the context of the HitTestResult with
webkit_hit_test_result_get_context() that returns a bitmask of
#WebKitHitTestResultContext flags. You can also use
webkit_hit_test_result_context_is_link(), webkit_hit_test_result_context_is_image() and
webkit_hit_test_result_context_is_media() to determine whether there's
a link, image or a media element at the coordinates of the Hit Test.
Note that it's possible that several #WebKitHitTestResultContext flags
are active at the same time, for example if there's a link containing an image.
When the mouse is moved over a #WebKitWebView a Hit Test is performed
for the mouse coordinates and #WebKitWebView::mouse-target-changed
signal is emitted with a #WebKitHitTestResult.
Gets whether %WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE flag is present in
#WebKitHitTestResult:context.
%TRUE if there's an editable element at the coordinates of the @hit_test_result,
or %FALSE otherwise
a #WebKitHitTestResult
Gets whether %WEBKIT_HIT_TEST_RESULT_CONTEXT_IMAGE flag is present in
#WebKitHitTestResult:context.
%TRUE if there's an image element in the coordinates of the Hit Test,
or %FALSE otherwise
a #WebKitHitTestResult
Gets whether %WEBKIT_HIT_TEST_RESULT_CONTEXT_LINK flag is present in
#WebKitHitTestResult:context.
%TRUE if there's a link element in the coordinates of the Hit Test,
or %FALSE otherwise
a #WebKitHitTestResult
Gets whether %WEBKIT_HIT_TEST_RESULT_CONTEXT_MEDIA flag is present in
#WebKitHitTestResult:context.
%TRUE if there's a media element in the coordinates of the Hit Test,
or %FALSE otherwise
a #WebKitHitTestResult
Gets whether %WEBKIT_HIT_TEST_RESULT_CONTEXT_SCROLLBAR flag is present in
#WebKitHitTestResult:context.
%TRUE if there's a scrollbar element at the coordinates of the @hit_test_result,
or %FALSE otherwise
a #WebKitHitTestResult
Gets whether %WEBKIT_HIT_TEST_RESULT_CONTEXT_SELECTION flag is present in
#WebKitHitTestResult:context.
%TRUE if there's a selected element at the coordinates of the @hit_test_result,
or %FALSE otherwise
a #WebKitHitTestResult
Gets the value of the #WebKitHitTestResult:context property.
a bitmask of #WebKitHitTestResultContext flags
a #WebKitHitTestResult
Gets the value of the #WebKitHitTestResult:image-uri property.
the URI of the image element in the coordinates of the Hit Test,
or %NULL if there isn't an image element in @hit_test_result context
a #WebKitHitTestResult
Gets the value of the #WebKitHitTestResult:link-label property.
the label of the link element in the coordinates of the Hit Test,
or %NULL if there isn't a link element in @hit_test_result context or the
link element doesn't have a label
a #WebKitHitTestResult
Gets the value of the #WebKitHitTestResult:link-title property.
the title of the link element in the coordinates of the Hit Test,
or %NULL if there isn't a link element in @hit_test_result context or the
link element doesn't have a title
a #WebKitHitTestResult
Gets the value of the #WebKitHitTestResult:link-uri property.
the URI of the link element in the coordinates of the Hit Test,
or %NULL if there isn't a link element in @hit_test_result context
a #WebKitHitTestResult
Gets the value of the #WebKitHitTestResult:media-uri property.
the URI of the media element in the coordinates of the Hit Test,
or %NULL if there isn't a media element in @hit_test_result context
a #WebKitHitTestResult
Bitmask of #WebKitHitTestResultContext flags representing
the context of the #WebKitHitTestResult.
The URI of the image if flag %WEBKIT_HIT_TEST_RESULT_CONTEXT_IMAGE
is present in #WebKitHitTestResult:context
The label of the link if flag %WEBKIT_HIT_TEST_RESULT_CONTEXT_LINK
is present in #WebKitHitTestResult:context
The title of the link if flag %WEBKIT_HIT_TEST_RESULT_CONTEXT_LINK
is present in #WebKitHitTestResult:context
The URI of the link if flag %WEBKIT_HIT_TEST_RESULT_CONTEXT_LINK
is present in #WebKitHitTestResult:context
The URI of the media if flag %WEBKIT_HIT_TEST_RESULT_CONTEXT_MEDIA
is present in #WebKitHitTestResult:context
Enum values with flags representing the context of a #WebKitHitTestResult.
anywhere in the document.
a hyperlink element.
an image element.
a video or audio element.
an editable element
a scrollbar element.
a selected element. Since 2.8
Describes a first party origin.
Get the domain name of @itp_first_party.
the domain name
a #WebKitITPFirstParty
Get the last time a #WebKitITPThirdParty has been seen under @itp_first_party.
Each @WebKitITPFirstParty is created by webkit_itp_third_party_get_first_parties() and
therefore corresponds to exactly one #WebKitITPThirdParty.
the last update time as a #GDateTime
a #WebKitITPFirstParty
Get whether @itp_first_party has granted website data access to its #WebKitITPThirdParty.
Each @WebKitITPFirstParty is created by webkit_itp_third_party_get_first_parties() and
therefore corresponds to exactly one #WebKitITPThirdParty.
%TRUE if website data access has been granted, or %FALSE otherwise
a #WebKitITPFirstParty
Atomically increments the reference count of @itp_first_party by one.
This function is MT-safe and may be called from any thread.
The passed #WebKitITPFirstParty
a #WebKitITPFirstParty
Atomically decrements the reference count of @itp_first_party by one.
If the reference count drops to 0, all memory allocated by
#WebKitITPFirstParty is released. This function is MT-safe and may be
called from any thread.
a #WebKitITPFirstParty
Describes a third party origin.
Get the domain name of @itp_third_party.
the domain name
a #WebKitITPThirdParty
Get the list of #WebKitITPFirstParty under which @itp_third_party has been seen.
a #GList of #WebKitITPFirstParty
a #WebKitITPThirdParty
Atomically increments the reference count of @itp_third_party by one.
This function is MT-safe and may be called from any thread.
The passed #WebKitITPThirdParty
a #WebKitITPThirdParty
Atomically decrements the reference count of @itp_third_party by one.
If the reference count drops to 0, all memory allocated by
#WebKitITPThirdParty is released. This function is MT-safe and may be
called from any thread.
a #WebKitITPThirdParty
Enum values used to describe hints that might be taken into account by input methods.
No special behavior suggested
Suggest spell checking
Suggest to not autocapitlize
Suggest to capitalize all text
Suggest to capitalize the first character of each word
Suggest to capitalize the first word of each sentence
Suggest to not show an onscreen keyboard
Base class for input method contexts.
WebKitInputMethodContext defines the interface to implement WebKit input methods.
The input methods are used by WebKit, when editable content is focused, to map from
key events to Unicode character strings.
An input method may consume multiple key events in sequence and finally
output the composed result. This is called preediting, and an input method
may provide feedback about this process by displaying the intermediate
composition states as preedit text.
Allow @key_event to be handled by the input method.
If %TRUE is returned, then no further processing should be
done for the key event.
%TRUE if the key event was handled, or %FALSE otherwise
a #WebKitInputMethodContext
the key event to filter
Get the pre-edit string and a list of WebKitInputMethodUnderline.
Get the current pre-edit string for the @context, and a list of WebKitInputMethodUnderline to apply to the string.
The string will be displayed inserted at @cursor_offset.
a #WebKitInputMethodContext
location to store the preedit string
location to store the underlines as a #GList of #WebKitInputMethodUnderline
location to store the position of cursor in preedit string
Notify @context that cursor area changed in input associated.
a #WebKitInputMethodContext
the x coordinate of cursor location
the y coordinate of cursor location
the width of cursor area
the height of cursor area
Notify @context that input associated has gained focus.
a #WebKitInputMethodContext
Notify @context that input associated has lost focus.
a #WebKitInputMethodContext
Notify @context that the context surrounding the cursor has changed.
If there's no selection @selection_index is the same as @cursor_index.
a #WebKitInputMethodContext
text surrounding the insertion point
the length of @text, or -1 if @text is nul-terminated
the byte index of the insertion cursor within @text.
the byte index of the selection cursor within @text.
Reset the @context.
This will typically cause the input to clear the preedit state.
a #WebKitInputMethodContext
Set whether @context should enable preedit to display feedback.
a #WebKitInputMethodContext
whether to enable preedit
Allow @key_event to be handled by the input method.
If %TRUE is returned, then no further processing should be
done for the key event.
%TRUE if the key event was handled, or %FALSE otherwise
a #WebKitInputMethodContext
the key event to filter
Get the value of the #WebKitInputMethodContext:input-hints property.
the #WebKitInputHints of the input associated with @context
a #WebKitInputMethodContext
Get the value of the #WebKitInputMethodContext:input-purpose property.
the #WebKitInputPurpose of the input associated with @context
a #WebKitInputMethodContext
Get the pre-edit string and a list of WebKitInputMethodUnderline.
Get the current pre-edit string for the @context, and a list of WebKitInputMethodUnderline to apply to the string.
The string will be displayed inserted at @cursor_offset.
a #WebKitInputMethodContext
location to store the preedit string
location to store the underlines as a #GList of #WebKitInputMethodUnderline
location to store the position of cursor in preedit string
Notify @context that cursor area changed in input associated.
a #WebKitInputMethodContext
the x coordinate of cursor location
the y coordinate of cursor location
the width of cursor area
the height of cursor area
Notify @context that input associated has gained focus.
a #WebKitInputMethodContext
Notify @context that input associated has lost focus.
a #WebKitInputMethodContext
Notify @context that the context surrounding the cursor has changed.
If there's no selection @selection_index is the same as @cursor_index.
a #WebKitInputMethodContext
text surrounding the insertion point
the length of @text, or -1 if @text is nul-terminated
the byte index of the insertion cursor within @text.
the byte index of the selection cursor within @text.
Reset the @context.
This will typically cause the input to clear the preedit state.
a #WebKitInputMethodContext
Set whether @context should enable preedit to display feedback.
a #WebKitInputMethodContext
whether to enable preedit
Set the value of the #WebKitInputMethodContext:input-hints property.
a #WebKitInputMethodContext
a #WebKitInputHints
Set the value of the #WebKitInputMethodContext:input-purpose property.
a #WebKitInputMethodContext
a #WebKitInputPurpose
The #WebKitInputHints of the input associated with this context.
The #WebKitInputPurpose of the input associated with this context.
Emitted when a complete input sequence has been entered by the user.
This can be a single character immediately after a key press or the
final result of preediting.
the string result
Emitted when the input method wants to delete the context surrounding the cursor.
If @offset is a negative value, it means a position before the cursor.
the character offset from the cursor position of the text to be deleted.
the number of characters to be deleted
Emitted whenever the preedit sequence currently being entered has changed.
It is also emitted at the end of a preedit sequence, in which case
webkit_input_method_context_get_preedit() returns the empty string.
Emitted when a preediting sequence has been completed or canceled.
Emitted when a new preediting sequence starts.
Called via webkit_input_method_context_set_enable_preedit() to
control the use of the preedit string.
a #WebKitInputMethodContext
whether to enable preedit
Called via webkit_input_method_context_get_preedit() to
retrieve the text currently being preedited for display at the cursor
position. Any input method which composes complex characters or any
other compositions from multiple sequential key presses should override
this method to provide feedback.
a #WebKitInputMethodContext
location to store the preedit string
location to store the underlines as a #GList of #WebKitInputMethodUnderline
location to store the position of cursor in preedit string
Called via webkit_input_method_context_filter_key_event() on every
key press or release event. Every non-trivial input method needs to
override this in order to implement the mapping from key events to text.
A return value of %TRUE indicates to the caller that the event was
consumed by the input method. In that case, the #WebKitInputMethodContext::committed
signal should be emitted upon completion of a key sequence to pass the
resulting text back to the editable element. Alternatively, %FALSE may be
returned to indicate that the event wasn’t handled by the input method.
%TRUE if the key event was handled, or %FALSE otherwise
a #WebKitInputMethodContext
the key event to filter
Called via webkit_input_method_context_notify_focus_in() when
an editable element of the #WebKitWebView has gained focus.
a #WebKitInputMethodContext
Called via webkit_input_method_context_notify_focus_out() when
an editable element of the #WebKitWebView has lost focus.
a #WebKitInputMethodContext
Called via webkit_input_method_context_notify_cursor_area()
to inform the input method of the current cursor location relative to
the client window.
a #WebKitInputMethodContext
the x coordinate of cursor location
the y coordinate of cursor location
the width of cursor area
the height of cursor area
Called via webkit_input_method_context_notify_surrounding() to
update the context surrounding the cursor. The provided text should not include
the preedit string.
a #WebKitInputMethodContext
text surrounding the insertion point
the length of @text, or -1 if @text is nul-terminated
the byte index of the insertion cursor within @text.
the byte index of the selection cursor within @text.
Called via webkit_input_method_context_reset() to signal a change that
requires a reset. An input method that implements preediting
should override this method to clear the preedit state on reset.
a #WebKitInputMethodContext
Range of text in an preedit string to be shown underlined.
Create a new #WebKitInputMethodUnderline for the given range in preedit string
A newly created #WebKitInputMethodUnderline
the start offset in preedit string
the end offset in preedit string
Make a copy of the #WebKitInputMethodUnderline.
A copy of passed in #WebKitInputMethodUnderline
a #WebKitInputMethodUnderline
Free the #WebKitInputMethodUnderline.
A #WebKitInputMethodUnderline
Set the color of the underline.
If @rgba is %NULL the foreground text color will be used
for the underline too.
a #WebKitInputMethodUnderline
a #GdkRGBA or %NULL
Enum values used to describe the primary purpose of the active editable element.
Editable element expects any characters
Editable element expects digits
Editable element expects a number
Editable element expects a telephone
Editable element expects a URL
Editable element expects an email
Editable element expects a password
Enum values previously used to denote the different events which can trigger
the detection of insecure content. Since 2.46, WebKit generally no longer
loads insecure content in secure contexts.
Insecure content has been detected by
trying to execute any kind of logic (e.g. a script) from an
untrusted source.
Insecure content has been
detected by trying to display any kind of resource (e.g. an image)
from an untrusted source.
Previously, a permission request for installing missing media plugins.
WebKitInstallMissingMediaPluginsPermissionRequest will no longer ever be created, so
you can remove any code that attempts to handle it.
This function returns an empty string.
an empty string
a #WebKitInstallMissingMediaPluginsPermissionRequest
Enum values used to denote errors happening when executing JavaScript
An exception was raised in JavaScript execution
An unsupported parameter has been used to call and async function from API. Since 2.40
The result of JavaScript execution could not be returned. Since 2.40
Gets the quark for the domain of JavaScript errors.
JavaScript error domain.
Result of JavaScript evaluation in a web view.
Get the global Javascript context.
Get the global Javascript context that should be used with the
<function>JSValueRef</function> returned by webkit_javascript_result_get_value().
Use jsc_value_get_context() instead.
the <function>JSGlobalContextRef</function> for the #WebKitJavascriptResult
a #WebKitJavascriptResult
Get the #JSCValue of @js_result.
the #JSCValue of the #WebKitJavascriptResult
a #WebKitJavascriptResult
Get the value of @js_result.
You should use the <function>JSGlobalContextRef</function>
returned by webkit_javascript_result_get_global_context() to use the <function>JSValueRef</function>.
Use webkit_javascript_result_get_js_value() instead.
the <function>JSValueRef</function> of the #WebKitJavascriptResult
a #WebKitJavascriptResult
Atomically increments the reference count of @js_result by one.
This function is MT-safe and may be called from any thread.
The passed in #WebKitJavascriptResult
a #WebKitJavascriptResult
Atomically decrements the reference count of @js_result by one.
If the reference count drops to 0,
all memory allocated by the #WebKitJavascriptResult is
released. This function is MT-safe and may be called from any
thread.
a #WebKitJavascriptResult
Enum values used to denote the different events that happen during a
#WebKitWebView load operation.
A new load request has been made.
No data has been received yet, empty structures have
been allocated to perform the load; the load may still
fail due to transport issues such as not being able to
resolve a name, or connect to a port.
A provisional data source received
a server redirect.
The content started arriving for a page load.
The necessary transport requirements are established, and the
load is being performed.
Load completed. All resources are done loading
or there was an error during the load operation.
Like webkit_get_major_version(), but from the headers used at
application compile time, rather than from the library linked
against at application run time.
Like webkit_get_micro_version(), but from the headers used at
application compile time, rather than from the library linked
against at application run time.
Like webkit_get_minor_version(), but from the headers used at
application compile time, rather than from the library linked
against at application run time.
Enum values used to specify the capture state of a media device.
Media capture is disabled.
Media capture is active.
Media capture is muted.
A permission request for using an EME Content Decryption Module.
WebKitMediaKeySystemPermissionRequest represents a request for permission to decide whether
WebKit should use the given CDM to access protected media when requested through the
MediaKeySystem API.
When a WebKitMediaKeySystemPermissionRequest is not handled by the user,
it is denied by default.
When handling this permission request the application may perform additional installation of the
requested CDM, unless it is already present on the host system.
A boxed type representing the settings for the memory pressure handler
#WebKitMemoryPressureSettings is a boxed type that can be used to provide some custom settings
to control how the memory pressure situations are handled by the different processes.
The memory pressure system implemented inside the different process will try to keep the memory usage
under the defined memory limit. In order to do that, it will check the used memory with a user defined
frequency and decide whether it should try to release memory. The thresholds passed will define how urgent
is to release that memory.
Take into account that badly defined parameters can greatly reduce the performance of the engine. For
example, setting memory limit too low with a fast poll interval can cause the process to constantly
be trying to release memory.
A #WebKitMemoryPressureSettings can be passed to a #WebKitWebContext constructor, and the settings will
be applied to all the web processes created by that context.
A #WebKitMemoryPressureSettings can be passed to webkit_website_data_manager_set_memory_pressure_settings(),
and the settings will be applied to all the network processes created after that call by any instance of
#WebKitWebsiteDataManager.
Create a new #WebKitMemoryPressureSettings with the default values.
A new #WebKitMemoryPressureSettings instance filled with the default values.
Make a copy of @settings.
A copy of of the passed #WebKitMemoryPressureSettings.
a #WebKitMemoryPressureSettings
Free the #WebKitMemoryPressureSettings.
a #WebKitMemoryPressureSettings
Gets the conservative memory usage threshold.
value in the `(0, 1)` range.
a #WebKitMemoryPressureSettings
Gets the kill memory usage threshold.
positive value, can be zero.
a #WebKitMemoryPressureSettings
Gets the memory usage limit.
current value, in megabytes.
a #WebKitMemoryPressureSettings
Gets the interval at which memory usage is checked.
current interval value, in seconds.
a #WebKitMemoryPressureSettings
Gets the strict memory usage threshold.
value in the `(0, 1)` range.
a #WebKitMemoryPressureSettings
Sets the memory limit for the conservative policy to start working.
Sets @value as the fraction of the defined memory limit where the conservative
policy starts working. This policy will try to reduce the memory footprint by
releasing non critical memory.
The threshold must be bigger than 0 and smaller than 1, and it must be smaller
than the strict threshold defined in @settings. The default value is 0.33.
a #WebKitMemoryPressureSettings
fraction of the memory limit where the conservative policy starts working.
Sets @value as the fraction of the defined memory limit where the process will be
killed.
The threshold must be a value bigger or equal to 0. A value of 0 means that the process
is never killed. If the threshold is not 0, then it must be bigger than the strict threshold
defined in @settings. The threshold can also have values bigger than 1. The default value is 0.
a #WebKitMemoryPressureSettings
fraction of the memory limit where the process will be killed because
of excessive memory usage.
Sets @memory_limit the memory limit value to @settings.
The default value is the system's RAM size with a maximum of 3GB.
a #WebKitMemoryPressureSettings
amount of memory (in MB) that the process is allowed to use.
Sets @value as the poll interval used by @settings.
The poll interval value must be bigger than 0. The default value is 30 seconds.
a #WebKitMemoryPressureSettings
period (in seconds) between memory usage measurements.
Sets the memory limit for the strict policy to start working.
Sets @value as the fraction of the defined memory limit where the strict
policy starts working. This policy will try to reduce the memory footprint by
releasing critical memory.
The threshold must be bigger than 0 and smaller than 1. Also, it must be bigger
than the conservative threshold defined in @settings, and smaller than the kill
threshold if the latter is not 0. The default value is 0.5.
a #WebKitMemoryPressureSettings
fraction of the memory limit where the strict policy starts working.
Information about a MIME type.
Gets the description of the MIME type.
description, as a string.
a #WebKitMimeInfo
Get the list of file extensions associated to the MIME type.
a
%NULL-terminated array of strings
a #WebKitMimeInfo
Gets the MIME type.
MIME type, as a string.
a #WebKitMimeInfo
Atomically increments the reference count of @info by one.
This function is MT-safe and may be called from any thread.
The passed in #WebKitMimeInfo
a #WebKitMimeInfo
Atomically decrements the reference count of @info by one.
If the reference count drops to 0, all memory allocated by the #WebKitMimeInfo is
released. This function is MT-safe and may be called from any
thread.
a #WebKitMimeInfo
Provides details about interaction resulting in a resource load.
Make a copy of @navigation.
A copy of passed in #WebKitNavigationAction
a #WebKitNavigationAction
Free the #WebKitNavigationAction
a #WebKitNavigationAction
Gets the @navigation target frame name. For example if navigation was triggered by clicking a
link with a target attribute equal to "_blank", this will return the value of that attribute.
In all other cases this function will return %NULL.
The name of the new frame this navigation action targets or %NULL
a #WebKitNavigationAction
Return the modifier keys.
Return a bitmask of #GdkModifierType values describing the modifier keys that were in effect
when the navigation was requested
the modifier keys
a #WebKitNavigationAction
Return the number of the mouse button that triggered the navigation.
Return the number of the mouse button that triggered the navigation, or 0 if
the navigation was not started by a mouse event.
the mouse button number or 0
a #WebKitNavigationAction
Return the type of action that triggered the navigation.
a #WebKitNavigationType
a #WebKitNavigationAction
Return the #WebKitURIRequest associated with the navigation action.
Modifications to the returned object are <emphasis>not</emphasis> taken
into account when the request is sent over the network, and is intended
only to aid in evaluating whether a navigation action should be taken or
not. To modify requests before they are sent over the network the
#WebKitPage::send-request signal can be used instead.
a #WebKitURIRequest
a #WebKitNavigationAction
Returns whether the @navigation was redirected.
%TRUE if the original navigation was redirected, %FALSE otherwise.
a #WebKitNavigationAction
Return whether the navigation was triggered by a user gesture like a mouse click.
whether navigation action is a user gesture
a #WebKitNavigationAction
A policy decision for navigation actions.
WebKitNavigationPolicyDecision represents a policy decision for events associated with
navigations. If the value of #WebKitNavigationPolicyDecision:mouse-button is not 0, then
the navigation was triggered by a mouse event.
Gets the value of the #WebKitNavigationPolicyDecision:frame-name property.
Use webkit_navigation_policy_decision_get_navigation_action() instead.
The name of the new frame this navigation action targets or %NULL
a #WebKitNavigationPolicyDecision
Gets the value of the #WebKitNavigationPolicyDecision:modifiers property.
Use webkit_navigation_policy_decision_get_navigation_action() instead.
The modifiers active if this decision was triggered by a mouse event
a #WebKitNavigationPolicyDecision
Gets the value of the #WebKitNavigationPolicyDecision:mouse-button property.
Use webkit_navigation_policy_decision_get_navigation_action() instead.
The mouse button used if this decision was triggered by a mouse event or 0 otherwise
a #WebKitNavigationPolicyDecision
Gets the value of the #WebKitNavigationPolicyDecision:navigation-action property.
The #WebKitNavigationAction triggering this policy decision.
a #WebKitNavigationPolicyDecision
Gets the value of the #WebKitNavigationPolicyDecision:navigation-type property.
Use webkit_navigation_policy_decision_get_navigation_action() instead.
The type of navigation triggering this policy decision.
a #WebKitNavigationPolicyDecision
Gets the value of the #WebKitNavigationPolicyDecision:request property.
Use webkit_navigation_policy_decision_get_navigation_action() instead.
The URI request that is associated with this navigation
a #WebKitNavigationPolicyDecision
If this navigation request targets a new frame, this property contains
the name of that frame. For example if the decision was triggered by clicking a
link with a target attribute equal to "_blank", this property will contain the
value of that attribute. In all other cases, this value will be %NULL.
Use #WebKitNavigationPolicyDecision:navigation-action instead
If the navigation associated with this policy decision was originally
triggered by a mouse event, this property contains a bitmask of various
#GdkModifierType values describing the modifiers used for that click.
If the navigation was not triggered by a mouse event or no modifiers
were active, the value of this property will be zero.
Use #WebKitNavigationPolicyDecision:navigation-action instead
If the navigation associated with this policy decision was originally
triggered by a mouse event, this property contains non-zero button number
of the button triggering that event. The button numbers match those from GDK.
If the navigation was not triggered by a mouse event, the value of this
property will be 0.
Use #WebKitNavigationPolicyDecision:navigation-action instead
The #WebKitNavigationAction that triggered this policy decision.
The type of navigation that triggered this policy decision. This is
useful for enacting different policies depending on what type of user
action caused the navigation.
Use #WebKitNavigationPolicyDecision:navigation-action instead
This property contains the #WebKitURIRequest associated with this
navigation.
Use #WebKitNavigationPolicyDecision:navigation-action instead
Enum values used to denote the various navigation types.
The navigation was triggered by clicking a link.
The navigation was triggered by submitting a form.
The navigation was triggered by navigating forward or backward.
The navigation was triggered by reloading.
The navigation was triggered by resubmitting a form.
The navigation was triggered by some other action.
Enum values used to denote the various network errors.
Generic load failure
Load failure due to transport error
Load failure due to unknown protocol
Load failure due to cancellation
Load failure due to missing file
Gets the quark for the domain of networking errors.
network error domain.
Enum values used to set the network proxy mode.
Use the default proxy of the system.
Do not use any proxy.
Use custom proxy settings.
Configures network proxies.
WebKitNetworkProxySettings can be used to provide a custom proxy configuration
to a #WebKitWebContext. You need to call webkit_web_context_set_network_proxy_settings()
with %WEBKIT_NETWORK_PROXY_MODE_CUSTOM and a WebKitNetworkProxySettings.
Create a new #WebKitNetworkProxySettings with the given @default_proxy_uri and @ignore_hosts.
The default proxy URI will be used for any URI that doesn't match @ignore_hosts, and doesn't match any
of the schemes added with webkit_network_proxy_settings_add_proxy_for_scheme().
If @default_proxy_uri starts with "socks://", it will be treated as referring to all three of the
socks5, socks4a, and socks4 proxy types.
@ignore_hosts is a list of hostnames and IP addresses that the resolver should allow direct connections to.
Entries can be in one of 4 formats:
<itemizedlist>
<listitem><para>
A hostname, such as "example.com", ".example.com", or "*.example.com", any of which match "example.com" or
any subdomain of it.
</para></listitem>
<listitem><para>
An IPv4 or IPv6 address, such as "192.168.1.1", which matches only that address.
</para></listitem>
<listitem><para>
A hostname or IP address followed by a port, such as "example.com:80", which matches whatever the hostname or IP
address would match, but only for URLs with the (explicitly) indicated port. In the case of an IPv6 address, the address
part must appear in brackets: "[::1]:443"
</para></listitem>
<listitem><para>
An IP address range, given by a base address and prefix length, such as "fe80::/10", which matches any address in that range.
</para></listitem>
</itemizedlist>
Note that when dealing with Unicode hostnames, the matching is done against the ASCII form of the name.
Also note that hostname exclusions apply only to connections made to hosts identified by name, and IP address exclusions apply only
to connections made to hosts identified by address. That is, if example.com has an address of 192.168.1.1, and @ignore_hosts
contains only "192.168.1.1", then a connection to "example.com" will use the proxy, and a connection to 192.168.1.1" will not.
A new #WebKitNetworkProxySettings.
the default proxy URI to use, or %NULL.
an optional list of hosts/IP addresses to not use a proxy for.
Adds a URI-scheme-specific proxy.
URIs whose scheme matches @uri_scheme will be proxied via @proxy_uri.
As with the default proxy URI, if @proxy_uri starts with "socks://", it will be treated as referring to
all three of the socks5, socks4a, and socks4 proxy types.
a #WebKitNetworkProxySettings
the URI scheme to add a proxy for
the proxy URI to use for @uri_scheme
Make a copy of the #WebKitNetworkProxySettings.
A copy of passed in #WebKitNetworkProxySettings
a #WebKitNetworkProxySettings
Free the #WebKitNetworkProxySettings.
A #WebKitNetworkProxySettings
Holds information about a notification that should be shown to the user.
Tells WebKit the notification has been clicked.
This will emit the
#WebKitNotification::clicked signal.
a #WebKitNotification
Closes the notification.
a #WebKitNotification
Obtains the body for the notification.
the body for the notification
a #WebKitNotification
Obtains the unique id for the notification.
the unique id for the notification
a #WebKitNotification
Obtains the tag identifier for the notification.
the tag for the notification
a #WebKitNotification
Obtains the title for the notification.
the title for the notification
a #WebKitNotification
The body for the notification.
The unique id for the notification.
The tag identifier for the notification.
The title for the notification.
Emitted when a notification has been clicked. See webkit_notification_clicked().
Emitted when a notification has been withdrawn.
The default handler will close the notification using libnotify, if built with
support for it.
A permission request for displaying web notifications.
WebKitNotificationPermissionRequest represents a request for
permission to decide whether WebKit should provide the user with
notifications through the Web Notification API.
When a WebKitNotificationPermissionRequest is not handled by the user,
it is denied by default.
Represents the dropdown menu of a `select` element in a #WebKitWebView.
When a select element in a #WebKitWebView needs to display a dropdown menu, the signal
#WebKitWebView::show-option-menu is emitted, providing a WebKitOptionMenu with the
#WebKitOptionMenuItem<!-- -->s that should be displayed.
Activates the #WebKitOptionMenuItem at @index in @menu.
Activating an item changes the value
of the element making the item the active one. You are expected to close the menu with
webkit_option_menu_close() after activating an item, calling this function again will have no
effect.
a #WebKitOptionMenu
the index of the item
Request to close a #WebKitOptionMenu.
This emits WebKitOptionMenu::close signal.
This function should always be called to notify WebKit that the associated
menu has been closed. If the menu is closed and neither webkit_option_menu_select_item()
nor webkit_option_menu_activate_item() have been called, the element value remains
unchanged.
a #WebKitOptionMenu
Gets the #GdkEvent that triggered the dropdown menu.
If @menu was not triggered by a user interaction, like a mouse click,
%NULL is returned.
the menu event or %NULL.
a #WebKitOptionMenu
Returns the #WebKitOptionMenuItem at @index in @menu.
a #WebKitOptionMenuItem of @menu.
a #WebKitOptionMenu
the index of the item
Gets the length of the @menu.
the number of #WebKitOptionMenuItem<!-- -->s in @menu
a #WebKitOptionMenu
Selects the #WebKitOptionMenuItem at @index in @menu.
Selecting an item changes the
text shown by the combo button, but it doesn't change the value of the element. You need to
explicitly activate the item with webkit_option_menu_select_item() or close the menu with
webkit_option_menu_close() in which case the currently selected item will be activated.
a #WebKitOptionMenu
the index of the item
Emitted when closing a #WebKitOptionMenu is requested. This can happen
when the user explicitly calls webkit_option_menu_close() or when the
element is detached from the current page.
One item of a #WebKitOptionMenu.
The #WebKitOptionMenu is composed of WebKitOptionMenuItem<!-- -->s.
A WebKitOptionMenuItem always has a label and can contain a tooltip text.
You can use the WebKitOptionMenuItem of a #WebKitOptionMenu to build your
own menus.
Make a copy of the #WebKitOptionMenuItem.
A copy of passed in #WebKitOptionMenuItem
a #WebKitOptionMenuItem
Free the #WebKitOptionMenuItem.
A #WebKitOptionMenuItem
Get the label of a #WebKitOptionMenuItem.
The label of @item.
a #WebKitOptionMenuItem
Get the tooltip of a #WebKitOptionMenuItem.
The tooltip of @item, or %NULL.
a #WebKitOptionMenuItem
Whether a #WebKitOptionMenuItem is enabled.
%TRUE if the @item is enabled or %FALSE otherwise.
a #WebKitOptionMenuItem
Whether a #WebKitOptionMenuItem is a group child.
%TRUE if the @item is a group child or %FALSE otherwise.
a #WebKitOptionMenuItem
Whether a #WebKitOptionMenuItem is a group label.
%TRUE if the @item is a group label or %FALSE otherwise.
a #WebKitOptionMenuItem
Whether a #WebKitOptionMenuItem is the currently selected one.
%TRUE if the @item is selected or %FALSE otherwise.
a #WebKitOptionMenuItem
A permission request.
There are situations where an embedder would need to ask the user
for permission to do certain types of operations, such as switching
to fullscreen mode or reporting the user's location through the
standard Geolocation API. In those cases, WebKit will emit a
#WebKitWebView::permission-request signal with a
#WebKitPermissionRequest object attached to it.
Allow the action which triggered this request.
a #WebKitPermissionRequest
Deny the action which triggered this request.
a #WebKitPermissionRequest
Allow the action which triggered this request.
a #WebKitPermissionRequest
Deny the action which triggered this request.
a #WebKitPermissionRequest
a #WebKitPermissionRequest
a #WebKitPermissionRequest
Enum values representing query permission results.
Access to the feature is granted.
Access to the feature is denied.
Access to the feature has to be requested via user prompt.
This query represents a user's choice to allow or deny access to "powerful features" of the
platform, as specified in the [Permissions W3C
Specification](https://w3c.github.io/permissions/).
When signalled by the #WebKitWebView through the `query-permission-state` signal, the application
has to eventually respond, via `webkit_permission_state_query_finish()`, whether it grants,
denies or requests a dedicated permission prompt for the given query.
When a #WebKitPermissionStateQuery is not handled by the user, the user-agent is instructed to
`prompt` the user for the given permission.
Notify the web-engine of the selected permission state for the given query. This function should
only be called as a response to the `WebKitWebView::query-permission-state` signal.
a #WebKitPermissionStateQuery
a #WebKitPermissionState
Get the permission name for which access is being queried.
the permission name for @query
a #WebKitPermissionStateQuery
Get the permission origin for which access is being queried.
A #WebKitSecurityOrigin representing the origin from which the
@query was emitted.
a #WebKitPermissionStateQuery
Atomically increments the reference count of @query by one.
This function is MT-safe and may be called from any thread.
The passed #WebKitPermissionStateQuery
a #WebKitPermissionStateQuery
Atomically decrements the reference count of @query by one.
If the reference count drops to 0, all memory allocated by #WebKitPermissionStateQuery is
released. This function is MT-safe and may be called from any thread.
a #WebKitPermissionStateQuery
Represents a plugin, enabling fine-grained control.
This object represents a single plugin, found while scanning the
various platform plugin directories. This object can be used to get
more information about a plugin, and enable/disable it, allowing
fine-grained control of plugins. The list of available plugins can
be obtained from the #WebKitWebContext, with
webkit_web_context_get_plugins().
Obtain the plugin description.
description, as a string.
a #WebKitPlugin
Get information about MIME types handled by the plugin.
Get information about MIME types handled by the plugin,
as a list of #WebKitMimeInfo.
a #GList of #WebKitMimeInfo.
a #WebKitPlugin
Obtain the plugin name.
name, as a string.
a #WebKitPlugin
Obtain the absolute path where the plugin is installed.
path, as a string.
a #WebKitPlugin
Enum values used to denote the various plugin and media errors.
Generic plugin load failure. Deprecated 2.32
Load failure due to missing plugin. Deprecated 2.32
Load failure due to inability to load plugin. Deprecated 2.32
Load failure due to missing Java support that is required to load plugin. Deprecated 2.32
Load failure due to connection cancellation. Deprecated 2.32
Preliminary load failure for media content types. A new load will be started to perform the media load.
Gets the quark for the domain of plug-in errors.
plug-in error domain.
A permission request for locking the pointer.
WebKitPointerLockPermissionRequest represents a request for
permission to decide whether WebKit can lock the pointer device when
requested by web content.
When a WebKitPointerLockPermissionRequest is not handled by the user,
it is allowed by default.
A pending policy decision.
Often WebKit allows the client to decide the policy for certain
operations. For instance, a client may want to open a link in a new
tab, block a navigation entirely, query the user or trigger a download
instead of a navigation. In these cases WebKit will fire the
#WebKitWebView::decide-policy signal with a #WebKitPolicyDecision
object. If the signal handler does nothing, WebKit will act as if
webkit_policy_decision_use() was called as soon as signal handling
completes. To make a policy decision asynchronously, simply increment
the reference count of the #WebKitPolicyDecision object.
Spawn a download from this decision.
a #WebKitPolicyDecision
#WebKitResponsePolicyDecision, this would cancel the request.
Ignore the action which triggered this decision. For instance, for a
#WebKitResponsePolicyDecision, this would cancel the request.
a #WebKitPolicyDecision
Accept the action which triggered this decision.
a #WebKitPolicyDecision
Accept the navigation action and continue with provided @policies.
Accept the navigation action which triggered this decision, and
continue with @policies affecting all subsequent loads of resources
in the origin associated with the accepted navigation action.
For example, a navigation decision to a video sharing website may
be accepted under the priviso no movies are allowed to autoplay. The
autoplay policy in this case would be set in the @policies.
a #WebKitPolicyDecision
a #WebKitWebsitePolicies
Enum values used for determining the type of a policy decision during
#WebKitWebView::decide-policy.
This type of policy decision
is requested when WebKit is about to navigate to a new page in either the
main frame or a subframe. Acceptable policy decisions are either
webkit_policy_decision_use() or webkit_policy_decision_ignore(). This
type of policy decision is always a #WebKitNavigationPolicyDecision.
This type of policy decision
is requested when WebKit is about to create a new window. Acceptable policy
decisions are either webkit_policy_decision_use() or
webkit_policy_decision_ignore(). This type of policy decision is always
a #WebKitNavigationPolicyDecision. These decisions are useful for implementing
special actions for new windows, such as forcing the new window to open
in a tab when a keyboard modifier is active or handling a special
target attribute on <a> elements.
This type of decision is used when WebKit has
received a response for a network resource and is about to start the load.
Note that these resources include all subresources of a page such as images
and stylesheets as well as main documents. Appropriate policy responses to
this decision are webkit_policy_decision_use(), webkit_policy_decision_ignore(),
or webkit_policy_decision_download(). This type of policy decision is always
a #WebKitResponsePolicyDecision. This decision is useful for forcing
some types of resources to be downloaded rather than rendered in the WebView
or to block the transfer of resources entirely.
Enum values used to denote the various policy errors.
Generic load failure due to policy error
Load failure due to unsupported mime type
Load failure due to URI that can not be shown
Load failure due to frame load interruption by policy change
Load failure due to port restriction
Gets the quark for the domain of policy errors.
policy error domain.
Allows to embed a custom widget in print dialog.
A WebKitPrintCustomWidget allows to embed a custom widget in the print
dialog by connecting to the #WebKitPrintOperation::create-custom-widget
signal, creating a new WebKitPrintCustomWidget with
webkit_print_custom_widget_new() and returning it from there. You can later
use webkit_print_operation_run_dialog() to display the dialog.
Unfortunately, use of custom widgets is incompatible with modern
containerized application frameworks like Flatpak. A print dialog
constructed in the application process will not have access to host
printers, so instead it must be constructed by a desktop portal service
running on the host system. Because this print dialog runs in a separate
process, it's not possible to attach a custom widget.
Create a new #WebKitPrintCustomWidget with given @widget and @title.
The @widget
ownership is taken and it is destroyed together with the dialog even if this
object could still be alive at that point. You typically want to pass a container
widget with multiple widgets in it.
a new #WebKitPrintOperation.
a #GtkWidget
a @widget's title
Return the value of #WebKitPrintCustomWidget:title property.
Return the value of #WebKitPrintCustomWidget:title property for the given
@print_custom_widget object.
Title of the @print_custom_widget.
a #WebKitPrintCustomWidget
Return the value of #WebKitPrintCustomWidget:widget property.
Return the value of #WebKitPrintCustomWidget:widget property for the given
@print_custom_widget object. The returned value will always be valid if called
from #WebKitPrintCustomWidget::apply or #WebKitPrintCustomWidget::update
callbacks, but it will be %NULL if called after the
#WebKitPrintCustomWidget::apply signal is emitted.
a #GtkWidget.
a #WebKitPrintCustomWidget
The title of the custom widget.
The custom #GtkWidget that will be embedded in the dialog.
Emitted right before the printing will start. You should read the information
from the widget and update the content based on it if necessary. The widget
is not guaranteed to be valid at a later time.
Emitted after change of selected printer in the dialog. The actual page setup
and print settings are available and the custom widget can actualize itself
according to their values.
actual page setup
actual print settings
Enum values used to denote the various print errors.
Unspecified error during a print operation
Selected printer cannot be found
Invalid page range
Gets the quark for the domain of printing errors.
print error domain.
Controls a print operation.
A #WebKitPrintOperation controls a print operation in WebKit. With
a similar API to #GtkPrintOperation, it lets you set the print
settings with webkit_print_operation_set_print_settings() or
display the print dialog with webkit_print_operation_run_dialog().
Create a new #WebKitPrintOperation to print @web_view contents.
a new #WebKitPrintOperation.
a #WebKitWebView
Return the current page setup of @print_operation.
It returns %NULL until
either webkit_print_operation_set_page_setup() or webkit_print_operation_run_dialog()
have been called.
the current #GtkPageSetup of @print_operation.
a #WebKitPrintOperation
Return the current print settings of @print_operation.
It returns %NULL until
either webkit_print_operation_set_print_settings() or webkit_print_operation_run_dialog()
have been called.
the current #GtkPrintSettings of @print_operation.
a #WebKitPrintOperation
Start a print operation using current print settings and page setup.
Start a print operation using current print settings and page setup
without showing the print dialog. If either print settings or page setup
are not set with webkit_print_operation_set_print_settings() and
webkit_print_operation_set_page_setup(), the default options will be used
and the print job will be sent to the default printer.
The #WebKitPrintOperation::finished signal is emitted when the printing
operation finishes. If an error occurs while printing the signal
#WebKitPrintOperation::failed is emitted before #WebKitPrintOperation::finished.
If the app is running in a sandbox, this function only works if printing to
a file that is in a location accessible to the sandbox, usually acquired
through the File Chooser portal. This function will not work for physical
printers when running in a sandbox.
a #WebKitPrintOperation
Run the print dialog and start printing.
Run the print dialog and start printing using the options selected by
the user. This method returns when the print dialog is closed.
If the print dialog is cancelled %WEBKIT_PRINT_OPERATION_RESPONSE_CANCEL
is returned. If the user clicks on the print button, %WEBKIT_PRINT_OPERATION_RESPONSE_PRINT
is returned and the print operation starts. In this case, the #WebKitPrintOperation::finished
signal is emitted when the operation finishes. If an error occurs while printing, the signal
#WebKitPrintOperation::failed is emitted before #WebKitPrintOperation::finished.
If the print dialog is not cancelled current print settings and page setup of @print_operation
are updated with options selected by the user when Print button is pressed in print dialog.
You can get the updated print settings and page setup by calling
webkit_print_operation_get_print_settings() and webkit_print_operation_get_page_setup()
after this method.
the #WebKitPrintOperationResponse of the print dialog
a #WebKitPrintOperation
transient parent of the print dialog
Set the current page setup of @print_operation.
Current page setup is used for the
initial values of the print dialog when webkit_print_operation_run_dialog() is called.
a #WebKitPrintOperation
a #GtkPageSetup to set
Set the current print settings of @print_operation.
Set the current print settings of @print_operation. Current print settings are used for
the initial values of the print dialog when webkit_print_operation_run_dialog() is called.
a #WebKitPrintOperation
a #GtkPrintSettings to set
The initial #GtkPageSetup for the print operation.
The initial #GtkPrintSettings for the print operation.
The #WebKitWebView that will be printed.
Emitted when displaying the print dialog with webkit_print_operation_run_dialog().
The returned #WebKitPrintCustomWidget will be added to the print dialog and
it will be owned by the @print_operation. However, the object is guaranteed
to be alive until the #WebKitPrintCustomWidget::apply is emitted.
A #WebKitPrintCustomWidget that will be embedded in the dialog.
Emitted when an error occurs while printing. The given @error, of the domain
%WEBKIT_PRINT_ERROR, contains further details of the failure.
The #WebKitPrintOperation::finished signal is emitted after this one.
the #GError that was triggered
Emitted when the print operation has finished doing everything
required for printing.
Enum values representing the response of the print dialog shown with
webkit_print_operation_run_dialog().
Print button was clicked in print dialog
Print dialog was cancelled
Enum values used for determining the #WebKitWebContext process model.
Deprecated 2.26.
Use one process
for each #WebKitWebView, while still allowing for some of them to
share a process in certain situations. The main advantage
of this process model is that the rendering process for a web view
can crash while the rest of the views keep working normally. This
process model is indicated for applications which may use a number
of web views and the content of in each must not interfere with the
rest — for example a full-fledged web browser with support for
multiple tabs.
A policy decision for resource responses.
WebKitResponsePolicyDecision represents a policy decision for a
resource response, whether from the network or the local system.
A very common use case for these types of decision is deciding
whether or not to download a particular resource or to load it
normally.
Return the #WebKitURIRequest associated with the response decision.
Modifications to the returned object are <emphasis>not</emphasis> taken
into account when the request is sent over the network, and is intended
only to aid in evaluating whether a response decision should be taken or
not. To modify requests before they are sent over the network the
#WebKitPage::send-request signal can be used instead.
The URI request that is associated with this policy decision.
a #WebKitResponsePolicyDecision
Gets the value of the #WebKitResponsePolicyDecision:response property.
The URI response that is associated with this policy decision.
a #WebKitResponsePolicyDecision
Gets whether the request is the main frame main resource
%TRUE if the request is the main frame main resouce or %FALSE otherwise
a #WebKitResponsePolicyDecision
Gets whether the MIME type of the response can be displayed in the #WebKitWebView.
Gets whether the MIME type of the response can be displayed in the #WebKitWebView
that triggered this policy decision request. See also webkit_web_view_can_show_mime_type().
%TRUE if the MIME type of the response is supported or %FALSE otherwise
a #WebKitResponsePolicyDecision
This property contains the #WebKitURIRequest associated with this
policy decision.
This property contains the #WebKitURIResponse associated with this
policy decision.
Enum values to specify the different ways in which a #WebKitWebView
can save its current web page into a self-contained file.
Save the current page using the MHTML format.
Carries details to be shown in user-facing dialogs.
Close @dialog.
When handling a #WebKitScriptDialog asynchronously (webkit_script_dialog_ref()
was called in #WebKitWebView::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.
a #WebKitScriptDialog
Set whether the user confirmed the dialog.
This method is used for %WEBKIT_SCRIPT_DIALOG_CONFIRM and %WEBKIT_SCRIPT_DIALOG_BEFORE_UNLOAD_CONFIRM dialogs when
#WebKitWebView::script-dialog signal is emitted to set whether the user
confirmed the dialog or not. The default implementation of #WebKitWebView::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
a #WebKitScriptDialog
whether user confirmed the dialog
Get the dialog type of a #WebKitScriptDialog.
the #WebKitScriptDialogType of @dialog
a #WebKitScriptDialog
Get the message of a #WebKitScriptDialog.
the message of @dialog.
a #WebKitScriptDialog
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.
the default text of @dialog
a #WebKitScriptDialog
Set the text entered by the user in the dialog.
This method is used for %WEBKIT_SCRIPT_DIALOG_PROMPT dialogs when
#WebKitWebView::script-dialog signal is emitted to set the text
entered by the user. The default implementation of #WebKitWebView::script-dialog
signal sets the text of the entry form when OK button is clicked, otherwise %NULL is set.
It's an error to use this method with a #WebKitScriptDialog that is not of type
%WEBKIT_SCRIPT_DIALOG_PROMPT.
a #WebKitScriptDialog
the text to set
Atomically increments the reference count of @dialog by one.
This
function is MT-safe and may be called from any thread.
The passed in #WebKitScriptDialog
a #WebKitScriptDialog
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.
a #WebKitScriptDialog
Enum values used for determining the type of #WebKitScriptDialog
Alert script dialog, used to show a
message to the user.
Confirm script dialog, used to ask
confirmation to the user.
Prompt script dialog, used to ask
information to the user.
Before unload confirm dialog,
used to ask confirmation to leave the current page to the user. Since 2.12
A reply for a script message received.
If no reply has been sent by the user, an automatically generated reply with
undefined value with be sent.
Atomically increments the reference count of @script_message_reply by one.
the @script_message_reply passed in.
A #WebKitScriptMessageReply
Reply to a script message with an error message.
A #WebKitScriptMessageReply
An error message to return as specified by the user's script message
Reply to a script message with a value.
This function can be called twice for passing the reply value in.
A #WebKitScriptMessageReply
Reply value of the provided script message
Atomically decrements the reference count of @script_message_reply by one.
If the reference count drops to 0, all the memory allocated by the
#WebKitScriptMessageReply is released. This function is MT-safe and may
be called from any thread.
A #WebKitScriptMessageReply
Controls security settings in a #WebKitWebContext.
The #WebKitSecurityManager defines security settings for URI
schemes in a #WebKitWebContext. Get it from the context with
webkit_web_context_get_security_manager(), and use it to register a
URI scheme with a certain security level, or to check if it already
has it.
Register @scheme as a CORS (Cross-origin resource sharing) enabled scheme.
This means that CORS requests are allowed. See W3C CORS specification
http://www.w3.org/TR/cors/.
a #WebKitSecurityManager
a URI scheme
Register @scheme as a display isolated scheme.
This means that pages cannot
display these URIs unless they are from the same scheme.
a #WebKitSecurityManager
a URI scheme
Register @scheme as an empty document scheme.
This means that
they are allowed to commit synchronously.
a #WebKitSecurityManager
a URI scheme
Register @scheme as a local scheme.
This means that other non-local pages
cannot link to or access URIs of this scheme.
a #WebKitSecurityManager
a URI scheme
Register @scheme as a no-access scheme.
This means that pages loaded
with this URI scheme cannot access pages loaded with any other URI scheme.
a #WebKitSecurityManager
a URI scheme
Register @scheme as a secure scheme.
This means that mixed
content warnings won't be generated for this scheme when
included by an HTTPS page.
a #WebKitSecurityManager
a URI scheme
Whether @scheme is considered as a CORS enabled scheme.
See also webkit_security_manager_register_uri_scheme_as_cors_enabled().
%TRUE if @scheme is a CORS enabled scheme or %FALSE otherwise.
a #WebKitSecurityManager
a URI scheme
Whether @scheme is considered as a display isolated scheme.
See also webkit_security_manager_register_uri_scheme_as_display_isolated().
%TRUE if @scheme is a display isolated scheme or %FALSE otherwise.
a #WebKitSecurityManager
a URI scheme
Whether @scheme is considered as an empty document scheme.
See also webkit_security_manager_register_uri_scheme_as_empty_document().
%TRUE if @scheme is an empty document scheme or %FALSE otherwise.
a #WebKitSecurityManager
a URI scheme
Whether @scheme is considered as a local scheme.
See also webkit_security_manager_register_uri_scheme_as_local().
%TRUE if @scheme is a local scheme or %FALSE otherwise.
a #WebKitSecurityManager
a URI scheme
Whether @scheme is considered as a no-access scheme.
See also webkit_security_manager_register_uri_scheme_as_no_access().
%TRUE if @scheme is a no-access scheme or %FALSE otherwise.
a #WebKitSecurityManager
a URI scheme
Whether @scheme is considered as a secure scheme.
See also webkit_security_manager_register_uri_scheme_as_secure().
%TRUE if @scheme is a secure scheme or %FALSE otherwise.
a #WebKitSecurityManager
a URI scheme
A security boundary for websites.
#WebKitSecurityOrigin is a representation of a security domain
defined by websites. A security origin consists of a protocol, a
hostname, and an optional port number.
Resources with the same security origin can generally access each
other for client-side scripting or database access. When comparing
origins, beware that if both protocol and host are %NULL, the origins
should not be treated as equal.
Create a new security origin from the provided protocol, host and
port.
A #WebKitSecurityOrigin.
The protocol for the new origin
The host for the new origin
The port number for the new origin, or 0 to indicate the
default port for @protocol
Create a new security origin from the provided.
Create a new security origin from the provided URI. Components of
@uri other than protocol, host, and port do not affect the created
#WebKitSecurityOrigin.
A #WebKitSecurityOrigin.
The URI for the new origin
Gets the hostname of @origin.
It is reasonable for this to be %NULL
if its protocol does not require a host component.
The host of the #WebKitSecurityOrigin
a #WebKitSecurityOrigin
Gets the port of @origin.
This function will always return 0 if the
port is the default port for the given protocol. For example,
http://example.com has the same security origin as
http://example.com:80, and this function will return 0 for a
#WebKitSecurityOrigin constructed from either URI.
The port of the #WebKitSecurityOrigin.
a #WebKitSecurityOrigin
Gets the protocol of @origin.
The protocol of the #WebKitSecurityOrigin
a #WebKitSecurityOrigin
This function returns %FALSE.
This function returns %FALSE. #WebKitSecurityOrigin is now a simple
wrapper around a <protocol, host, port> triplet, and no longer
represents an origin as defined by web standards that may be opaque.
%FALSE
a #WebKitSecurityOrigin
Atomically increments the reference count of @origin by one.
This function is MT-safe and may be called from any thread.
The passed #WebKitSecurityOrigin
a #WebKitSecurityOrigin
Gets a string representation of @origin.
The string representation
is a valid URI with only protocol, host, and port components, or
%NULL.
a URI representing @origin.
a #WebKitSecurityOrigin
Atomically decrements the reference count of @origin by one.
If the reference count drops to 0, all memory allocated by
#WebKitSecurityOrigin is released. This function is MT-safe and may be
called from any thread.
A #WebKitSecurityOrigin
Control the behaviour of a #WebKitWebView.
#WebKitSettings can be applied to a #WebKitWebView to control text charset,
color, font sizes, printing mode, script support, loading of images and various
other things on a #WebKitWebView. After creation, a #WebKitSettings object
contains default settings.
```c
// Disable JavaScript
WebKitSettings *settings = webkit_web_view_group_get_settings (my_view_group);
webkit_settings_set_enable_javascript (settings, FALSE);
```
Creates a new #WebKitSettings instance with default values.
It must be manually attached to a #WebKitWebView.
See also webkit_settings_new_with_settings().
a new #WebKitSettings instance.
Creates a new #WebKitSettings instance with the given settings.
It must be manually attached to a #WebKitWebView.
a new #WebKitSettings instance.
name of first setting to set
value of first setting, followed by more settings,
%NULL-terminated
Convert @points to the equivalent value in pixels.
Convert @points to the equivalent value in pixels, based on the current
screen DPI. Applications can use this function to convert font size values
in points to font size values in pixels when setting the font size properties
of #WebKitSettings.
the equivalent font size in pixels.
the font size in points to convert to pixels
Convert @pixels to the equivalent value in points.
Convert @pixels to the equivalent value in points, based on the current
screen DPI. Applications can use this function to convert font size values
in pixels to font size values in points when getting the font size properties
of #WebKitSettings.
the equivalent font size in points.
the font size in pixels to convert to points
Gets the list of all available WebKit features.
Features can be toggled with [method@Settings.set_feature_enabled],
and their current state determined with
[method@Settings.get_feature_enabled].
Note that most applications should use
[func@Settings.get_development_features] and
[func@Settings.get_experimental_features] instead.
List of all features.
Gets the list of available development WebKit features.
The returned features are a subset of those returned by
[func@Settings.get_all_features], and includes those which
web and WebKit developers might find useful, but in general should
*not* be exposed to end users; see [enum@FeatureStatus] for
more details.
List of development features.
Gets the list of available experimental WebKit features.
The returned features are a subset of those returned by
[func@Settings.get_all_features], and includes those which
certain applications may want to expose to end users; see
[enum@FeatureStatus] for more details.
List of experimental features.
Reads the contents of the given @group_name from the given @key_file and apply the value of
each key/value to the corresponding property on the @settings.
Value types have to match with the corresponding setting property type and the group keys have to
match existing setting property names. If those conditions are not met, the function will return
%FALSE.
Supported value types are strings (unquoted), booleans (0, 1, true, false) and unsigned integers.
%TRUE if the settings were correctly applied or %FALSE on error.
a #WebKitSettings
a #GKeyFile
Name of the group to read from @key_file
Get the #WebKitSettings:allow-file-access-from-file-urls property.
%TRUE If file access from file URLs is allowed or %FALSE otherwise.
a #WebKitSettings
Get the #WebKitSettings:allow-modal-dialogs property.
%TRUE if it's allowed to create and run modal dialogs or %FALSE otherwise.
a #WebKitSettings
Get the #WebKitSettings:allow-top-navigation-to-data-urls property.
%TRUE If navigation to data URLs from the top frame is allowed or %FALSE\
otherwise.
a #WebKitSettings
Get the #WebKitSettings:allow-universal-access-from-file-urls property.
%TRUE If universal access from file URLs is allowed or %FALSE otherwise.
a #WebKitSettings
Get the #WebKitSettings:auto-load-images property.
%TRUE If auto loading of images is enabled or %FALSE otherwise.
a #WebKitSettings
Gets the #WebKitSettings:cursive-font-family property.
The default font family used to display content marked with cursive font.
a #WebKitSettings
Gets the #WebKitSettings:default-charset property.
Default charset.
a #WebKitSettings
Gets the #WebKitSettings:default-font-family property.
The default font family used to display content that does not specify a font.
a #WebKitSettings
Gets the #WebKitSettings:default-font-size property.
The default font size, in pixels.
a #WebKitSettings
Gets the #WebKitSettings:default-monospace-font-size property.
Default monospace font size, in pixels.
a #WebKitSettings
Get the #WebKitSettings:disable-web-security property.
%TRUE If web security support is disabled or %FALSE otherwise.
a #WebKitSettings
Get the #WebKitSettings:draw-compositing-indicators property.
%TRUE If compositing borders are drawn or %FALSE otherwise.
a #WebKitSettings
Get the #WebKitSettings:enable-2d-canvas-acceleration property.
%TRUE if 2D canvas acceleration is enabled or %FALSE otherwise.
a #WebKitSettings
Get the #WebKitSettings:enable-accelerated-2d-canvas property.
%TRUE if accelerated 2D canvas is enabled or %FALSE otherwise.
a #WebKitSettings
Get the #WebKitSettings:enable-back-forward-navigation-gestures property.
%TRUE if horizontal swipe gesture will trigger back-forward navigaiton or %FALSE otherwise.
a #WebKitSettings
Get the #WebKitSettings:enable-caret-browsing property.
%TRUE If caret browsing is enabled or %FALSE otherwise.
a #WebKitSettings
Get the #WebKitSettings:enable-developer-extras property.
%TRUE If developer extras is enabled or %FALSE otherwise.
a #WebKitSettings
Get the #WebKitSettings:enable-dns-prefetching property.
%TRUE If DNS prefetching is enabled or %FALSE otherwise.
a #WebKitSettings
Get the #WebKitSettings:enable-encrypted-media property.
%TRUE if EncryptedMedia support is enabled or %FALSE otherwise.
a #WebKitSettings
Frame flattening is no longer supported. This function returns %FALSE.
%FALSE
a #WebKitSettings
Get the #WebKitSettings:enable-fullscreen property.
%TRUE If fullscreen support is enabled or %FALSE otherwise.
a #WebKitSettings
Get the #WebKitSettings:enable-html5-database property.
%TRUE if IndexedDB support is enabled or %FALSE otherwise.
a #WebKitSettings
Get the #WebKitSettings:enable-html5-local-storage property.
%TRUE If HTML5 local storage support is enabled or %FALSE otherwise.
a #WebKitSettings
Get the #WebKitSettings:enable-hyperlink-auditing property.
%TRUE If hyper link auditing is enabled or %FALSE otherwise.
a #WebKitSettings
Get the #WebKitSettings:enable-java property.
This function always returns %FALSE.
%FALSE always.
a #WebKitSettings
Get the #WebKitSettings:enable-javascript property.
%TRUE If JavaScript is enabled or %FALSE otherwise.
a #WebKitSettings
Get the #WebKitSettings:enable-javascript-markup property.
%TRUE if JavaScript markup is enabled or %FALSE otherwise.
a #WebKitSettings
Get the #WebKitSettings:enable-media property.
%TRUE if media support is enabled or %FALSE otherwise.
a #WebKitSettings
Get the #WebKitSettings:enable-media-capabilities property.
%TRUE if MediaCapabilities support is enabled or %FALSE otherwise.
a #WebKitSettings
Get the #WebKitSettings:enable-media-stream property.
%TRUE If mediastream support is enabled or %FALSE otherwise.
a #WebKitSettings
Get the #WebKitSettings:enable-mediasource property.
%TRUE If MediaSource support is enabled or %FALSE otherwise.
a #WebKitSettings
Get the #WebKitSettings:enable-mock-capture-devices property.
%TRUE If mock capture devices is enabled or %FALSE otherwise.
a #WebKitSettings
Get the #WebKitSettings:enable-offline-web-application-cache property.
%FALSE.
a #WebKitSettings
Get the #WebKitSettings:enable-page-cache property.
%TRUE if page cache enabled or %FALSE otherwise.
a #WebKitSettings
Get the #WebKitSettings:enable-plugins property.
%TRUE If plugins are enabled or %FALSE otherwise.
a #WebKitSettings
Get the #WebKitSettings:enable-private-browsing property.
Use #WebKitWebView:is-ephemeral or #WebKitWebContext:is-ephemeral instead.
%TRUE If private browsing is enabled or %FALSE otherwise.
a #WebKitSettings
Get the #WebKitSettings:enable-resizable-text-areas property.
%TRUE If text areas can be resized or %FALSE otherwise.
a #WebKitSettings
Get the #WebKitSettings:enable-site-specific-quirks property.
%TRUE if site specific quirks are enabled or %FALSE otherwise.
a #WebKitSettings
Get the #WebKitSettings:enable-smooth-scrolling property.
%TRUE if smooth scrolling is enabled or %FALSE otherwise.
a #WebKitSettings
Get the #WebKitSettings:enable-spatial-navigation property.
%TRUE If HTML5 spatial navigation support is enabled or %FALSE otherwise.
a #WebKitSettings
Get the #WebKitSettings:enable-tabs-to-links property.
%TRUE If tabs to link is enabled or %FALSE otherwise.
a #WebKitSettings
Get the #WebKitSettings:enable-webaudio property.
%TRUE If webaudio support is enabled or %FALSE otherwise.
a #WebKitSettings
Get the #WebKitSettings:enable-webgl property.
%TRUE If WebGL support is enabled or %FALSE otherwise.
a #WebKitSettings
Get the [property@Settings:enable-webrtc] property.
%TRUE If WebRTC support is enabled or %FALSE otherwise.
a #WebKitSettings
Get the #WebKitSettings:enable-write-console-messages-to-stdout property.
%TRUE if writing console messages to stdout is enabled or %FALSE
otherwise.
a #WebKitSettings
The XSS auditor has been removed. This function returns %FALSE.
This function does nothing.
%FALSE
a #WebKitSettings
Gets the #WebKitSettings:fantasy-font-family property.
The default font family used to display content marked with fantasy font.
a #WebKitSettings
Gets whether a feature is enabled.
Whether the feature is enabled.
a #WebKitSettings
the feature to toggle.
Get the #WebKitSettings:hardware-acceleration-policy property.
a #WebKitHardwareAccelerationPolicy
a #WebKitSettings
Get the #WebKitSettings:javascript-can-access-clipboard property.
%TRUE If javascript-can-access-clipboard is enabled or %FALSE otherwise.
a #WebKitSettings
Get the #WebKitSettings:javascript-can-open-windows-automatically property.
%TRUE If JavaScript can open window automatically or %FALSE otherwise.
a #WebKitSettings
Setting no longer supported. This function returns %FALSE.
%FALSE
a #WebKitSettings
Gets the #WebKitSettings:media-content-types-requiring-hardware-support property.
Media content types requiring hardware support, or %NULL.
a #WebKitSettings
Get the #WebKitSettings:media-playback-allows-inline property.
%TRUE If inline playback is allowed for media
or %FALSE if only fullscreen playback is allowed.
a #WebKitSettings
Get the #WebKitSettings:media-playback-requires-user-gesture property.
%TRUE If an user gesture is needed to play or load media
or %FALSE if no user gesture is needed.
a #WebKitSettings
Gets the #WebKitSettings:minimum-font-size property.
Minimum font size, in pixels.
a #WebKitSettings
Gets the #WebKitSettings:monospace-font-family property.
Default font family used to display content marked with monospace font.
a #WebKitSettings
Gets the #WebKitSettings:pictograph-font-family property.
The default font family used to display content marked with pictograph font.
a #WebKitSettings
Get the #WebKitSettings:print-backgrounds property.
%TRUE If background images should be printed or %FALSE otherwise.
a #WebKitSettings
Gets the #WebKitSettings:sans-serif-font-family property.
The default font family used to display content marked with sans-serif font.
a #WebKitSettings
Gets the #WebKitSettings:serif-font-family property.
The default font family used to display content marked with serif font.
a #WebKitSettings
Get the #WebKitSettings:user-agent property.
The current value of the user-agent property.
a #WebKitSettings
Get the #WebKitSettings:zoom-text-only property.
%TRUE If zoom level of the view should only affect the text
or %FALSE if all view contents should be scaled.
a #WebKitSettings
Set the #WebKitSettings:allow-file-access-from-file-urls property.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:allow-modal-dialogs property.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:allow-top-navigation-to-data-urls property.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:allow-universal-access-from-file-urls property.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:auto-load-images property.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:cursive-font-family property.
a #WebKitSettings
the new default cursive font family
Set the #WebKitSettings:default-charset property.
a #WebKitSettings
default charset to be set
Set the #WebKitSettings:default-font-family property.
a #WebKitSettings
the new default font family
Set the #WebKitSettings:default-font-size property.
a #WebKitSettings
default font size to be set in pixels
Set the #WebKitSettings:default-monospace-font-size property.
a #WebKitSettings
default monospace font size to be set in pixels
Set the #WebKitSettings:disable-web-security property.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:draw-compositing-indicators property.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:enable-2d-canvas-acceleration property.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:enable-accelerated-2d-canvas property.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:enable-back-forward-navigation-gestures property.
a #WebKitSettings
value to be set
Set the #WebKitSettings:enable-caret-browsing property.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:enable-developer-extras property.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:enable-dns-prefetching property.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:enable-encrypted-media property.
a #WebKitSettings
Value to be set
Frame flattening is no longer supported. This function does nothing.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:enable-fullscreen property.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:enable-html5-database property.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:enable-html5-local-storage property.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:enable-hyperlink-auditing property.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:enable-java property.
Deprecated function that does nothing.
This function does nothing.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:enable-javascript property.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:enable-javascript-markup property.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:enable-media property.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:enable-media-capabilities property.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:enable-media-stream property.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:enable-mediasource property.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:enable-mock-capture-devices property.
a #WebKitSettings
Value to be set
Setting no longer supported. This function does nothing.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:enable-page-cache property.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:enable-plugins property.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:enable-private-browsing property.
Use #WebKitWebView:is-ephemeral or #WebKitWebContext:is-ephemeral instead.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:enable-resizable-text-areas property.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:enable-site-specific-quirks property.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:enable-smooth-scrolling property.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:enable-spatial-navigation property.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:enable-tabs-to-links property.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:enable-webaudio property.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:enable-webgl property.
a #WebKitSettings
Value to be set
Set the [property@Settings:enable-webrtc] property.
Setting this property to %TRUE implies the media-stream web-setting will also be enabled.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:enable-write-console-messages-to-stdout property.
a #WebKitSettings
Value to be set
The XSS auditor has been removed. This function does nothing.
This function does nothing.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:fantasy-font-family property.
a #WebKitSettings
the new default fantasy font family
Enables or disables a feature.
The current status of the feature can be determined with
[id@webkit_settings_get_feature_enabled]. To reset a feature to its
initial status, pass the value returned by
[id@webkit_feature_get_default_value] as the @enabled parameter.
a #WebKitSettings
the feature to toggle.
whether the feature will be enabled.
Set the #WebKitSettings:hardware-acceleration-policy property.
a #WebKitSettings
a #WebKitHardwareAccelerationPolicy
Set the #WebKitSettings:javascript-can-access-clipboard property.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:javascript-can-open-windows-automatically property.
a #WebKitSettings
Value to be set
Setting no longer supported. This function does nothing.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:media-content-types-requiring-hardware-support property.
a #WebKitSettings
list of media content types requiring hardware support split by semicolons (:) or %NULL to use the default value.
Set the #WebKitSettings:media-playback-allows-inline property.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:media-playback-requires-user-gesture property.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:minimum-font-size property.
a #WebKitSettings
minimum font size to be set in pixels
Set the #WebKitSettings:monospace-font-family property.
a #WebKitSettings
the new default monospace font family
Set the #WebKitSettings:pictograph-font-family property.
a #WebKitSettings
the new default pictograph font family
Set the #WebKitSettings:print-backgrounds property.
a #WebKitSettings
Value to be set
Set the #WebKitSettings:sans-serif-font-family property.
a #WebKitSettings
the new default sans-serif font family
Set the #WebKitSettings:serif-font-family property.
a #WebKitSettings
the new default serif font family
Set the #WebKitSettings:user-agent property.
a #WebKitSettings
The new custom user agent string or %NULL to use the default user agent
Set the #WebKitSettings:user-agent property by appending the application details.
Set the #WebKitSettings:user-agent property by appending the application details to the default user
agent. If no application name or version is given, the default user agent used will be used. If only
the version is given, the default engine version is used with the given application name.
a #WebKitSettings
The application name used for the user agent or %NULL to use the default user agent.
The application version for the user agent or %NULL to user the default version.
Set the #WebKitSettings:zoom-text-only property.
a #WebKitSettings
Value to be set
Whether file access is allowed from file URLs. By default, when
something is loaded in a #WebKitWebView using a file URI, cross
origin requests to other file resources are not allowed. This
setting allows you to change that behaviour, so that it would be
possible to do a XMLHttpRequest of a local file, for example.
Determine whether it's allowed to create and run modal dialogs
from a #WebKitWebView through JavaScript with
<function>window.showModalDialog</function>. If it's set to
%FALSE, the associated #WebKitWebView won't be able to create
new modal dialogs, so not even the #WebKitWebView::create
signal will be emitted.
Whether or not the top frame is allowed to navigate to data URLs. It is disabled by default
due to the risk it poses when loading untrusted URLs, with data URLs being used in scamming
and phishing attacks. In contrast, a scenario where it could be enabled could be an app that
embeds a WebView and you have control of the pages being show instead of a generic browser.
Whether or not JavaScript running in the context of a file scheme URL
should be allowed to access content from any origin. By default, when
something is loaded in a #WebKitWebView using a file scheme URL,
access to the local file system and arbitrary local storage is not
allowed. This setting allows you to change that behaviour, so that
it would be possible to use local storage, for example.
Determines whether images should be automatically loaded or not.
On devices where network bandwidth is of concern, it might be
useful to turn this property off.
The font family used as the default for content using a cursive font.
The default text charset used when interpreting content with an unspecified charset.
The font family to use as the default for content that does not specify a font.
The default font size in pixels to use for content displayed if
no font size is specified.
The default font size in pixels to use for content displayed in
monospace font if no font size is specified.
Enable or disable support for Web Security on pages.
This setting disables the same-origin policy, allowing every website full control over
all other websites. This is for use in special environments where you wish to disable
all security and allow websites to hack each other. It is impossible to use this setting
securely.
Whether to draw compositing borders and repaint counters on layers drawn
with accelerated compositing. This is useful for debugging issues related
to web content that is composited with the GPU.
Enable or disable 2D canvas acceleration.
If this setting is enabled, the 2D canvas will be accelerated even if Skia CPU
is used for rendering. However, the canvas can be unaccelerated even when this setting
is enabled, for other reasons like its size or when willReadFrequently property is used.
Enable or disable accelerated 2D canvas. Accelerated 2D canvas is only available
if WebKit was compiled with a version of Cairo including the unstable CairoGL API.
When accelerated 2D canvas is enabled, WebKit may render some 2D canvas content
using hardware accelerated drawing operations.
Enable or disable horizontal swipe gesture for back-forward navigation.
Whether to enable accessibility enhanced keyboard navigation.
Determines whether or not developer tools, such as the Web Inspector, are enabled.
Determines whether or not to prefetch domain names. DNS prefetching attempts
to resolve domain names before a user tries to follow a link.
Enable or disable support for Encrypted Media API on pages.
EncryptedMedia is an experimental JavaScript API for playing encrypted media in HTML.
This property will only work as intended if the EncryptedMedia feature is enabled at build time
with the ENABLE_ENCRYPTED_MEDIA flag.
See https://www.w3.org/TR/encrypted-media/
Frame flattening is no longer supported. This property does nothing.
Whether to enable the Javascript Fullscreen API. The API
allows any HTML element to request fullscreen display. See also
the current draft of the spec:
http://www.w3.org/TR/fullscreen/
Whether to enable HTML5 client-side SQL database support (IndexedDB).
Whether to enable HTML5 local storage support. Local storage provides
simple synchronous storage access.
HTML5 local storage specification is available at
http://dev.w3.org/html5/webstorage/.
Determines whether or not hyperlink auditing is enabled.
The hyperlink auditing specification is available at
http://www.whatwg.org/specs/web-apps/current-work/multipage/links.html#hyperlink-auditing.
Determines whether or not Java is enabled on the page.
Determines whether or not JavaScript executes within a page.
Determines whether or not JavaScript markup is allowed in document. When this setting is disabled,
all JavaScript-related elements and attributes are removed from the document during parsing. Note that
executing JavaScript is still allowed if #WebKitSettings:enable-javascript is %TRUE.
Enable or disable support for media playback on pages. This setting is enabled by
default. Disabling it means `<audio>`, `<track>` and `<video>` elements will have
playback support disabled.
Enable or disable support for MediaCapabilities on pages. This
specification intends to provide APIs to allow websites to make an optimal
decision when picking media content for the user. The APIs will expose
information about the decoding and encoding capabilities for a given format
but also output capabilities to find the best match based on the device’s
display.
See also https://wicg.github.io/media-capabilities/
Enable or disable support for MediaStream on pages. MediaStream
is an experimental proposal for allowing web pages to access
audio and video devices for capture.
See also http://dev.w3.org/2011/webrtc/editor/getusermedia.html
Enable or disable support for MediaSource on pages. MediaSource
extends HTMLMediaElement to allow JavaScript to generate media
streams for playback.
See also http://www.w3.org/TR/media-source/
Enable or disable the Mock Capture Devices. Those are fake
Microphone and Camera devices to be used as MediaStream
sources.
Unsupported setting. This property does nothing.
Enable or disable the page cache. Disabling the page cache is
generally only useful for special circumstances like low-memory
scenarios or special purpose applications like static HTML
viewers. This setting only controls the Page Cache, this cache
is different than the disk-based or memory-based traditional
resource caches, its point is to make going back and forth
between pages much faster. For details about the different types
of caches and their purposes see:
http://webkit.org/blog/427/webkit-page-cache-i-the-basics/
Determines whether or not plugins on the page are enabled.
Determines whether or not private browsing is enabled. Private browsing
will disable history, cache and form auto-fill for any pages visited.
Use #WebKitWebView:is-ephemeral or #WebKitWebsiteDataManager:is-ephemeral instead.
Determines whether or not text areas can be resized.
Whether to turn on site-specific quirks. Turning this on will
tell WebKit to use some site-specific workarounds for
better web compatibility. For example, older versions of
MediaWiki will incorrectly send to WebKit a CSS file with KHTML
workarounds. By turning on site-specific quirks, WebKit will
special-case this and other cases to make some specific sites work.
Enable or disable smooth scrolling.
Whether to enable Spatial Navigation. This feature consists in the ability
to navigate between focusable elements in a Web page, such as hyperlinks
and form controls, by using Left, Right, Up and Down arrow keys.
For example, if an user presses the Right key, heuristics determine whether
there is an element they might be trying to reach towards the right, and if
there are multiple elements, which element they probably wants.
Determines whether the tab key cycles through the elements on the page.
When this setting is enabled, users will be able to focus the next element
in the page by pressing the tab key. If the selected element is editable,
then pressing tab key will insert the tab character.
Enable or disable support for WebAudio on pages. WebAudio is an
API for processing and synthesizing audio in web applications
See also https://webaudio.github.io/web-audio-api
Enable or disable support for WebGL on pages. WebGL enables web
content to use an API based on OpenGL ES 2.0.
Enable WebRTC support for loaded pages.
Enabling this setting implies that [property@Settings:enable-media-stream]
will be enabled as well.
See also https://www.w3.org/TR/webrtc/
Enable or disable writing console messages to stdout. These are messages
sent to the console with console.log and related methods.
Whether to enable the XSS auditor. This feature filters some kinds of
reflective XSS attacks on vulnerable web sites.
The font family used as the default for content using a fantasy font.
The #WebKitHardwareAccelerationPolicy to decide how to enable and disable
hardware acceleration. Disabling hardware acceleration might
cause some websites to not render correctly or consume more CPU.
Note that changing this setting might not be possible if hardware acceleration is not
supported by the hardware or the system. In that case, you can get the value to know the
actual policy being used, but changing the setting will not have any effect.
Whether JavaScript can access the clipboard. The default value is %FALSE. If
set to %TRUE, document.execCommand() allows cut, copy and paste commands.
Whether JavaScript can open popup windows automatically without user
intervention.
Unsupported setting. This property does nothing.
List of media content types requiring hardware support, split by semicolons (:).
For example: 'video/webm; codecs="vp*":video/mp4; codecs="avc*":video/* codecs="av1*"'.
Whether media playback is full-screen only or inline playback is allowed.
This is %TRUE by default, so media playback can be inline. Setting it to
%FALSE allows specifying that media playback should be always fullscreen.
Whether a user gesture (such as clicking the play button)
would be required to start media playback or load media. This is off
by default, so media playback could start automatically.
Setting it on requires a gesture by the user to start playback, or to
load the media.
The minimum font size in pixels used to display text. This setting
controls the absolute smallest size. Values other than 0 can
potentially break page layouts.
The font family used as the default for content using a monospace font.
The font family used as the default for content using a pictograph font.
Whether background images should be drawn during printing.
The font family used as the default for content using a sans-serif font.
The font family used as the default for content using a serif font.
The user-agent string used by WebKit. Unusual user-agent strings may cause web
content to render incorrectly or fail to run, as many web pages are written to
parse the user-agent strings of only the most popular browsers. Therefore, it's
typically better to not completely override the standard user-agent, but to use
webkit_settings_set_user_agent_with_application_details() instead.
If this property is set to the empty string or %NULL, it will revert to the standard
user-agent.
Whether #WebKitWebView:zoom-level affects only the
text of the page or all the contents. Other contents containing text
like form controls will be also affected by zoom factor when
this property is enabled.
Enum values used to denote errors happening when creating snapshots of #WebKitWebView
An error occurred when creating a webpage snapshot.
Gets the quark for the domain of page snapshot errors.
snapshot error domain.
Enum values used to specify options when taking a snapshot
from a #WebKitWebView.
Do not include any special options.
Whether to include in the
snapshot the highlight of the selected content.
Do not fill the background with white before
rendering the snapshot. Since 2.8
Enum values used to specify the region from which to get a #WebKitWebView
snapshot
Specifies a snapshot only for the area that is
visible in the webview
A snapshot of the entire document.
Enum values used to denote the TLS errors policy.
Ignore TLS errors.
TLS errors will emit
#WebKitWebView::load-failed-with-tls-errors and, if the signal is handled,
finish the load. In case the signal is not handled,
#WebKitWebView::load-failed is emitted before the load finishes.
Represents a URI request.
A #WebKitURIRequest can be created with a URI using the
webkit_uri_request_new() method, and you can get the URI of an
existing request with the webkit_uri_request_get_uri() one.
Creates a new #WebKitURIRequest for the given URI.
a new #WebKitURIRequest
an URI
Get the HTTP headers of a #WebKitURIRequest as a #SoupMessageHeaders.
a #SoupMessageHeaders with the HTTP headers of @request
or %NULL if @request is not an HTTP request.
a #WebKitURIRequest
Get the HTTP method of the #WebKitURIRequest.
the HTTP method of the #WebKitURIRequest or %NULL if @request is not
an HTTP request.
a #WebKitURIRequest
Obtains the request URI.
request URI, as a string.
a #WebKitURIRequest
Set the URI of @request
a #WebKitURIRequest
an URI
The URI to which the request will be made.
Represents an URI response.
A #WebKitURIResponse contains information such as the URI, the
status code, the content length, the mime type, the HTTP status or
the suggested filename.
Get the expected content length of the #WebKitURIResponse.
It can be 0 if the server provided an incorrect or missing Content-Length.
the expected content length of @response.
a #WebKitURIResponse
Get the HTTP headers of a #WebKitURIResponse as a #SoupMessageHeaders.
a #SoupMessageHeaders with the HTTP headers of @response
or %NULL if @response is not an HTTP response.
a #WebKitURIResponse
Gets the MIME type of the response.
MIME type, as a string.
a #WebKitURIResponse
Get the status code of the #WebKitURIResponse.
Get the status code of the #WebKitURIResponse as returned by
the server. It will normally be a #SoupKnownStatusCode, for
example %SOUP_STATUS_OK, though the server can respond with any
unsigned integer.
the status code of @response
a #WebKitURIResponse
Get the suggested filename for @response.
Get the suggested filename for @response, as specified by
the 'Content-Disposition' HTTP header, or %NULL if it's not
present.
the suggested filename or %NULL if
the 'Content-Disposition' HTTP header is not present.
a #WebKitURIResponse
Gets the URI which resulted in the response.
response URI, as a string.
a #WebKitURIResponse
The expected content length of the response.
The HTTP headers of the response, or %NULL if the response is not an HTTP response.
The MIME type of the response.
The status code of the response as returned by the server.
The suggested filename for the URI response.
The URI for which the response was made.
Represents a URI scheme request.
If you register a particular URI scheme in a #WebKitWebContext,
using webkit_web_context_register_uri_scheme(), you have to provide
a #WebKitURISchemeRequestCallback. After that, when a URI request
is made with that particular scheme, your callback will be
called. There you will be able to access properties such as the
scheme, the URI and path, and the #WebKitWebView that initiated the
request, and also finish the request with
webkit_uri_scheme_request_finish().
Finish a #WebKitURISchemeRequest by setting the contents of the request and its mime type.
a #WebKitURISchemeRequest
a #GInputStream to read the contents of the request
the length of the stream or -1 if not known
the content type of the stream or %NULL if not known
Finish a #WebKitURISchemeRequest with a #GError.
a #WebKitURISchemeRequest
a #GError that will be passed to the #WebKitWebView
Finish a #WebKitURISchemeRequest by returning a #WebKitURISchemeResponse
a #WebKitURISchemeRequest
a #WebKitURISchemeResponse
Get the request body.
(nullable): the body of the @request.
a #WebKitURISchemeRequest
Get the #SoupMessageHeaders of the request.
the #SoupMessageHeaders of the @request.
a #WebKitURISchemeRequest
Get the HTTP method of the @request.
the HTTP method of the @request
a #WebKitURISchemeRequest
Get the URI path of @request.
the URI path of @request
a #WebKitURISchemeRequest
Get the URI scheme of @request.
the URI scheme of @request
a #WebKitURISchemeRequest
Get the URI of @request.
the full URI of @request
a #WebKitURISchemeRequest
Get the #WebKitWebView that initiated the request.
the #WebKitWebView that initiated @request.
a #WebKitURISchemeRequest
Type definition for a function that will be called back when an URI request is
made for a user registered URI scheme.
the #WebKitURISchemeRequest
user data passed to the callback
Represents a URI scheme response.
If you register a particular URI scheme in a #WebKitWebContext,
using webkit_web_context_register_uri_scheme(), you have to provide
a #WebKitURISchemeRequestCallback. After that, when a URI response
is made with that particular scheme, your callback will be
called. There you will be able to provide more response parameters
when the methods and properties of a #WebKitURISchemeRequest is not
enough.
When you finished setting up your #WebKitURISchemeResponse, call
webkit_uri_request_finish_with_response() with it to return the response.
Create a new #WebKitURISchemeResponse
the newly created #WebKitURISchemeResponse.
a #GInputStream to read the contents of the request
the length of the stream or -1 if not known
Sets the content type for the @response
a #WebKitURISchemeResponse
the content type of the stream
Assign the provided #SoupMessageHeaders to the response.
@headers need to be of the type %SOUP_MESSAGE_HEADERS_RESPONSE.
Any existing headers will be overwritten.
a #WebKitURISchemeResponse
the HTTP headers to be set
Sets the status code and reason phrase for the @response.
If @status_code is a known value and @reason_phrase is %NULL, the @reason_phrase will be set automatically.
a #WebKitURISchemeResponse
the HTTP status code to be returned
a reason phrase
The input stream to read from.
The input stream length in bytes, `-1` for unknown length.
A compiled set of rules which applied to resource loads.
Obtain the identifier previously used to save the @user_content_filter.
Obtain the identifier previously used to save the @user_content_filter in the
#WebKitUserContentFilterStore.
the identifier for the filter
A #WebKitUserContentFilter
Atomically increments the reference count of @user_content_filter by one.
This function is MT-safe and may be called from any thread.
the @user_content_filter passed in.
A #WebKitUserContentFilter
Atomically decrements the reference count of @user_content_filter by one.
If the reference count drops to 0, all the memory allocated by the
#WebKitUserContentFilter is released. This function is MT-safe and may
be called from any thread.
A #WebKitUserContentFilter
Errors that can occur while compiling content filters.
The JSON source for a content filter is invalid.
The requested content filter could not be found.
Gets the quark for the domain of user content filter errors.
user content filter error domain.
Handles storage of user content filters on disk.
The WebKitUserContentFilterStore provides the means to import and save
[JSON rule sets](https://webkit.org/blog/3476/content-blockers-first-look/),
which can be loaded later in an efficient manner. Once filters are stored,
the #WebKitUserContentFilter objects which represent them can be added to
a #WebKitUserContentManager with webkit_user_content_manager_add_filter().
JSON rule sets are imported using webkit_user_content_filter_store_save() and stored
on disk in an implementation defined format. The contents of a filter store must be
managed using the #WebKitUserContentFilterStore: a list of all the stored filters
can be obtained with webkit_user_content_filter_store_fetch_identifiers(),
webkit_user_content_filter_store_load() can be used to retrieve a previously saved
filter, and removed from the store with webkit_user_content_filter_store_remove().
Create a new #WebKitUserContentFilterStore to manipulate filters stored at @storage_path.
The path must point to a local filesystem, and will be created if needed.
a newly created #WebKitUserContentFilterStore
path where data for filters will be stored on disk
Asynchronously retrieve a list of the identifiers for all the stored filters.
When the operation is finished, @callback will be invoked, which then can use
webkit_user_content_filter_store_fetch_identifiers_finish() to obtain the list of
filter identifiers.
a #WebKitUserContentFilterStore
a #GCancellable or %NULL to ignore
a #GAsyncReadyCallback to call when the removal is completed
the data to pass to the callback function
Finishes an asynchronous fetch of the list of stored filters.
Finishes an asynchronous fetch of the list of identifiers for the stored filters previously
started with webkit_user_content_filter_store_fetch_identifiers().
a %NULL-terminated list of filter identifiers.
a #WebKitUserContentFilterStore
a #GAsyncResult
Gets the storage path for user content filters.
path, as a string.
a #WebKitUserContentFilterStore
Asynchronously load a content filter given its @identifier.
The filter must have been
previously stored using webkit_user_content_filter_store_save().
When the operation is finished, @callback will be invoked, which then can use
webkit_user_content_filter_store_load_finish() to obtain the resulting filter.
a #WebKitUserContentFilterStore
a filter identifier
a #GCancellable or %NULL to ignore
a #GAsyncReadyCallback to call when the load is completed
the data to pass to the callback function
Finishes an asynchronous filter load previously started with
webkit_user_content_filter_store_load().
a #WebKitUserContentFilter, or %NULL if the load failed
a #WebKitUserContentFilterStore
a #GAsyncResult
Asynchronously remove a content filter given its @identifier.
When the operation is finished, @callback will be invoked, which then can use
webkit_user_content_filter_store_remove_finish() to check whether the removal was
successful.
a #WebKitUserContentFilterStore
a filter identifier
a #GCancellable or %NULL to ignore
a #GAsyncReadyCallback to call when the removal is completed
the data to pass to the callback function
Finishes an asynchronous filter removal previously started with
webkit_user_content_filter_store_remove().
whether the removal was successful
a #WebKitUserContentFilterStore
a #GAsyncResult
Asynchronously save a content filter from a set source rule.
Asynchronously save a content filter from a source rule set in the
[WebKit content extesions JSON format](https://webkit.org/blog/3476/content-blockers-first-look/).
The @identifier can be used afterwards to refer to the filter when using
webkit_user_content_filter_store_remove() and webkit_user_content_filter_store_load().
When the @identifier has been used in the past, the new filter source will replace
the one saved beforehand for the same identifier.
When the operation is finished, @callback will be invoked, which then can use
webkit_user_content_filter_store_save_finish() to obtain the resulting filter.
a #WebKitUserContentFilterStore
a string used to identify the saved filter
#GBytes containing the rule set in JSON format
a #GCancellable or %NULL to ignore
a #GAsyncReadyCallback to call when saving is completed
the data to pass to the callback function
Finishes an asynchronous filter save previously started with
webkit_user_content_filter_store_save().
a #WebKitUserContentFilter, or %NULL if saving failed
a #WebKitUserContentFilterStore
a #GAsyncResult
Asynchronously save a content filter from the contents of a file.
Asynchronously save a content filter from the contents of a file, which must be
native to the platform, as checked by g_file_is_native(). See
webkit_user_content_filter_store_save() for more details.
When the operation is finished, @callback will be invoked, which then can use
webkit_user_content_filter_store_save_finish() to obtain the resulting filter.
a #WebKitUserContentFilterStore
a string used to identify the saved filter
a #GFile containing the rule set in JSON format
a #GCancellable or %NULL to ignore
a #GAsyncReadyCallback to call when saving is completed
the data to pass to the callback function
Finishes and asynchronous filter save previously started with
webkit_user_content_filter_store_save_from_file().
a #WebKitUserContentFilter, or %NULL if saving failed.
a #WebKitUserContentFilterStore
a #GAsyncResult
The directory used for filter storage. This path is used as the base
directory where user content filters are stored on disk.
Specifies in which frames user style sheets are to be inserted in.
Insert the user style
sheet in all the frames loaded by the web view, including
nested frames. This is the default.
Insert the user style
sheet *only* in the top-level frame loaded by the web view,
and *not* in the nested frames.
Manages user-defined content which affects web pages.
Using a #WebKitUserContentManager user CSS style sheets can be set to
be injected in the web pages loaded by a #WebKitWebView, by
webkit_user_content_manager_add_style_sheet().
To use a #WebKitUserContentManager, it must be created using
webkit_user_content_manager_new(), and then used to construct
a #WebKitWebView. User style sheets can be created with
webkit_user_style_sheet_new().
User style sheets can be added and removed at any time, but
they will affect the web pages loaded afterwards.
Creates a new user content manager.
A #WebKitUserContentManager
Adds a #WebKitUserContentFilter to the given #WebKitUserContentManager.
The same #WebKitUserContentFilter can be reused with multiple
#WebKitUserContentManager instances.
Filters need to be saved and loaded from #WebKitUserContentFilterStore.
A #WebKitUserContentManager
A #WebKitUserContentFilter
Adds a #WebKitUserScript to the given #WebKitUserContentManager.
The same #WebKitUserScript can be reused with multiple
#WebKitUserContentManager instances.
A #WebKitUserContentManager
A #WebKitUserScript
Adds a #WebKitUserStyleSheet to the given #WebKitUserContentManager.
The same #WebKitUserStyleSheet can be reused with multiple
#WebKitUserContentManager instances.
A #WebKitUserContentManager
A #WebKitUserStyleSheet
Registers a new user script message handler.
After it is registered,
scripts can use `window.webkit.messageHandlers.<name>.postMessage(value)`
to send messages. Those messages are received by connecting handlers
to the #WebKitUserContentManager::script-message-received signal. The
handler name is used as the detail of the signal. To avoid race
conditions between registering the handler name, and starting to
receive the signals, it is recommended to connect to the signal
*before* registering the handler name:
```c
WebKitWebView *view = webkit_web_view_new ();
WebKitUserContentManager *manager = webkit_web_view_get_user_content_manager ();
g_signal_connect (manager, "script-message-received::foobar",
G_CALLBACK (handle_script_message), NULL);
webkit_user_content_manager_register_script_message_handler (manager, "foobar");
```
Registering a script message handler will fail if the requested
name has been already registered before.
%TRUE if message handler was registered successfully, or %FALSE otherwise.
A #WebKitUserContentManager
Name of the script message channel
Registers a new user script message handler in script world.
Registers a new user script message handler in script world with name @world_name.
See webkit_user_content_manager_register_script_message_handler() for full description.
Registering a script message handler will fail if the requested
name has been already registered before.
%TRUE if message handler was registered successfully, or %FALSE otherwise.
A #WebKitUserContentManager
Name of the script message channel
the name of a #WebKitScriptWorld
Registers a new user script message handler in script world with name @world_name.
Different from webkit_user_content_manager_register_script_message_handler(),
when using this function to register the handler, the connected signal is
script-message-with-reply-received, and a reply provided by the user is expected.
Otherwise, the user will receive a default undefined value.
If %NULL is passed as the @world_name, the default world will be used.
See webkit_user_content_manager_register_script_message_handler() for full description.
Registering a script message handler will fail if the requested
name has been already registered before.
The registered handler can be unregistered by using
webkit_user_content_manager_unregister_script_message_handler().
%TRUE if message handler was registered successfully, or %FALSE otherwise.
A #WebKitUserContentManager
Name of the script message channel
the name of a #WebKitScriptWorld
Removes all content filters from the given #WebKitUserContentManager.
A #WebKitUserContentManager
Removes all user scripts from the given #WebKitUserContentManager
See also webkit_user_content_manager_remove_script().
A #WebKitUserContentManager
Removes all user style sheets from the given #WebKitUserContentManager.
A #WebKitUserContentManager
Removes a filter from the given #WebKitUserContentManager.
Since 2.24
A #WebKitUserContentManager
A #WebKitUserContentFilter
Removes a filter by the given identifier.
Removes a filter from the given #WebKitUserContentManager given the
identifier of a #WebKitUserContentFilter as returned by
webkit_user_content_filter_get_identifier().
A #WebKitUserContentManager
Filter identifier
Removes a #WebKitUserScript from the given #WebKitUserContentManager.
See also webkit_user_content_manager_remove_all_scripts().
A #WebKitUserContentManager
A #WebKitUserScript
Removes a #WebKitUserStyleSheet from the given #WebKitUserContentManager.
See also webkit_user_content_manager_remove_all_style_sheets().
A #WebKitUserContentManager
A #WebKitUserStyleSheet
Unregisters a previously registered message handler.
Note that this does *not* disconnect handlers for the
#WebKitUserContentManager::script-message-received signal;
they will be kept connected, but the signal will not be emitted
unless the handler name is registered again.
See also webkit_user_content_manager_register_script_message_handler().
A #WebKitUserContentManager
Name of the script message channel
Unregisters a previously registered message handler in script world with name @world_name.
Note that this does *not* disconnect handlers for the
#WebKitUserContentManager::script-message-received signal;
they will be kept connected, but the signal will not be emitted
unless the handler name is registered again.
See also webkit_user_content_manager_register_script_message_handler_in_world().
A #WebKitUserContentManager
Name of the script message channel
the name of a #WebKitScriptWorld
This signal is emitted when JavaScript in a web view calls
<code>window.webkit.messageHandlers.<name>.postMessage()</code>, after registering
<code><name></code> using
webkit_user_content_manager_register_script_message_handler()
the value received from the JavaScript world.
This signal is emitted when JavaScript in a web view calls
<code>window.webkit.messageHandlers.<name>.postMessage()</code>, after registering
<code><name></code> using
webkit_user_content_manager_register_script_message_handler_with_reply()
The given @reply can be used to send a return value with
webkit_script_message_reply_return_value() or an error message with
webkit_script_message_reply_return_error_message(). If none of them are
called, an automatic reply with an undefined value will be sent.
It is possible to handle the reply asynchronously, by simply calling
g_object_ref() on the @reply and returning %TRUE.
%TRUE to stop other handlers from being invoked for the event.
%FALSE to propagate the event further.
the value received from the JavaScript world.
the #WebKitScriptMessageReply to send the reply to the script message.
A permission request for accessing user's audio/video devices.
WebKitUserMediaPermissionRequest represents a request for
permission to decide whether WebKit should be allowed to access the user's
audio and video source devices when requested through the getUserMedia API.
When a WebKitUserMediaPermissionRequest is not handled by the user,
it is denied by default.
Whether the media device to which the permission was requested has a microphone or not.
Whether the media device to which the permission was requested has a video capture capability or not.
Message that can be sent between the UI process and web process extensions.
A WebKitUserMessage is a message that can be used for the communication between the UI process
and web process extensions. A WebKitUserMessage always has a name, and it can also include parameters and
UNIX file descriptors. Messages can be sent from a #WebKitWebContext to all web process extensions,
from a web process extension to its corresponding #WebKitWebContext, and from a #WebKitWebView to its
corresponding #WebKitWebPage (and vice versa). One to one messages can be replied to directly with
webkit_user_message_send_reply().
Create a new #WebKitUserMessage with @name.
the newly created #WebKitUserMessage object.
the message name
the message parameters as a #GVariant, or %NULL
Create a new #WebKitUserMessage including also a list of UNIX file descriptors to be sent.
the newly created #WebKitUserMessage object.
the message name
the message parameters as a #GVariant
the message file descriptors
Get the @message list of file descritpor.
the message list of file descriptors
a #WebKitUserMessage
Get the @message name.
the message name
a #WebKitUserMessage
Get the @message parameters.
the message parameters
a #WebKitUserMessage
Send a reply to an user message.
If @reply is floating, it's consumed.
You can only send a reply to a #WebKitUserMessage that has been
received.
a #WebKitUserMessage
a #WebKitUserMessage to send as reply
The UNIX file descriptors of the user message.
The name of the user message.
The parameters of the user message as a #GVariant, or %NULL
if the message doesn't include parameters. Note that only complete types are
allowed.
Enum values used to denote errors happening when sending user messages.
The message was not handled by the receiver.
Gets the quark for the domain of user message errors.
user message error domain.
A JavaScript snippet which can be injected in loaded pages.
Creates a new user script.
Scripts can be applied to some URIs
only by passing non-null values for @allow_list or @block_list. Passing a
%NULL allow_list implies that all URIs are on the allow_list. The script
is applied if an URI matches the allow_list and not the block_list.
URI patterns must be of the form `[protocol]://[host]/[path]`, where the
*host* and *path* components can contain the wildcard character (`*`) to
represent zero or more other characters.
A new #WebKitUserScript
Source code of the user script.
A #WebKitUserContentInjectedFrames value
A #WebKitUserScriptInjectionTime value
An allow_list of URI patterns or %NULL
A block_list of URI patterns or %NULL
Creates a new user script for script world with name @world_name.
See webkit_user_script_new() for a full description.
A new #WebKitUserScript
Source code of the user script.
A #WebKitUserContentInjectedFrames value
A #WebKitUserScriptInjectionTime value
the name of a #WebKitScriptWorld
An allow_list of URI patterns or %NULL
A block_list of URI patterns or %NULL
Atomically increments the reference count of @user_script by one.
This function is MT-safe and may be called from any thread.
The passed #WebKitUserScript
a #WebKitUserScript
Atomically decrements the reference count of @user_script by one.
If the reference count drops to 0, all memory allocated by
#WebKitUserScript is released. This function is MT-safe and may be called
from any thread.
a #WebKitUserScript
Specifies at which place of documents an user script will be inserted.
Insert the code of the user
script at the beginning of loaded documents. This is the default.
Insert the code of the user
script at the end of the loaded documents.
Specifies how to treat an user style sheet.
The style sheet is an user style sheet,
its contents always override other style sheets. This is the default.
The style sheet will be treated as if
it was provided by the loaded documents. That means other user style
sheets may still override it.
A CSS style sheet which can be injected in loaded pages.
Creates a new user style sheet.
Style sheets can be applied to some URIs
only by passing non-null values for @allow_list or @block_list. Passing a
%NULL allow_list implies that all URIs are on the allow_list. The style
sheet is applied if an URI matches the allow_list and not the block_list.
URI patterns must be of the form `[protocol]://[host]/[path]`, where the
*host* and *path* components can contain the wildcard character (`*`) to
represent zero or more other characters.
A new #WebKitUserStyleSheet
Source code of the user style sheet.
A #WebKitUserContentInjectedFrames value
A #WebKitUserStyleLevel
An allow_list of URI patterns or %NULL
A block_list of URI patterns or %NULL
Creates a new user style sheet for script world.
Creates a new user style sheet for script world with name @world_name.
See webkit_user_style_sheet_new() for a full description.
A new #WebKitUserStyleSheet
Source code of the user style sheet.
A #WebKitUserContentInjectedFrames value
A #WebKitUserStyleLevel
the name of a #WebKitScriptWorld
An allow_list of URI patterns or %NULL
A block_list of URI patterns or %NULL
Atomically increments the reference count of @user_style_sheet by one.
This function is MT-safe and may be called from any thread.
The passed #WebKitUserStyleSheet
a #WebKitUserStyleSheet
Atomically decrements the reference count of @user_style_sheet by one.
If the reference count drops to 0, all memory allocated by
#WebKitUserStyleSheet is released. This function is MT-safe and may be
called from any thread.
a #WebKitUserStyleSheet
Manages aspects common to all #WebKitWebView<!-- -->s
The #WebKitWebContext manages all aspects common to all
#WebKitWebView<!-- -->s.
You can define the #WebKitCacheModel with
webkit_web_context_set_cache_model(), depending on the needs of
your application. You can access the #WebKitSecurityManager to specify
the behaviour of your application regarding security using
webkit_web_context_get_security_manager().
It is also possible to change your preferred language or enable
spell checking, using webkit_web_context_set_preferred_languages(),
webkit_web_context_set_spell_checking_languages() and
webkit_web_context_set_spell_checking_enabled().
You can use webkit_web_context_register_uri_scheme() to register
custom URI schemes, and manage several other settings.
TLS certificate validation failure is now treated as a transport
error by default. To handle TLS failures differently, you can
connect to #WebKitWebView::load-failed-with-tls-errors.
Alternatively, you can use webkit_web_context_set_tls_errors_policy()
to set the policy %WEBKIT_TLS_ERRORS_POLICY_IGNORE; however, this is
not appropriate for Internet applications.
Create a new #WebKitWebContext.
a newly created #WebKitWebContext
Create a new ephemeral #WebKitWebContext.
An ephemeral #WebKitWebContext is a context
created with an ephemeral #WebKitWebsiteDataManager. This is just a convenient method
to create ephemeral contexts without having to create your own #WebKitWebsiteDataManager.
All #WebKitWebView<!-- -->s associated with this context will also be ephemeral. Websites will
not store any data in the client storage.
This is normally used to implement private instances.
a new ephemeral #WebKitWebContext.
Create a new #WebKitWebContext with a #WebKitWebsiteDataManager.
a newly created #WebKitWebContext
a #WebKitWebsiteDataManager
Gets the default web context.
a #WebKitWebContext
Adds a path to be mounted in the sandbox.
@path must exist before any web process has been created; otherwise,
it will be silently ignored. It is a fatal error to add paths after
a web process has been spawned.
Paths under `/sys`, `/proc`, and `/dev` are invalid. Attempting to
add all of `/` is not valid. Since 2.40, adding the user's entire
home directory or /home is also not valid.
See also webkit_web_context_set_sandbox_enabled()
a #WebKitWebContext
an absolute path to mount in the sandbox
if %TRUE the path will be read-only
Ignore further TLS errors on the @host for the certificate present in @info.
If @host is an IPv6 address, it should not be surrounded by brackets. This
expectation matches g_uri_get_host().
a #WebKitWebContext
a #GTlsCertificate
the host for which a certificate is to be allowed
Clears all resources currently cached.
See also webkit_web_context_set_cache_model().
a #WebKitWebContext
Requests downloading of the specified URI string.
The download operation will not be associated to any #WebKitWebView,
if you are interested in starting a download from a particular #WebKitWebView use
webkit_web_view_download_uri() instead.
a new #WebKitDownload representing
the download operation.
a #WebKitWebContext
the URI to download
Returns the current cache model.
For more information about this
value check the documentation of the function
webkit_web_context_set_cache_model().
the current #WebKitCacheModel
the #WebKitWebContext
Get the #WebKitCookieManager of the @context's #WebKitWebsiteDataManager.
the #WebKitCookieManager of @context.
a #WebKitWebContext
Get the #WebKitFaviconDatabase associated with @context.
To initialize the database you need to call
webkit_web_context_set_favicon_database_directory().
the #WebKitFaviconDatabase of @context.
a #WebKitWebContext
Get the directory path to store the favicons database.
Get the directory path being used to store the favicons database
for @context, or %NULL if
webkit_web_context_set_favicon_database_directory() hasn't been
called yet.
This function will always return the same path after having called
webkit_web_context_set_favicon_database_directory() for the first
time.
the path of the directory of the favicons
database associated with @context, or %NULL.
a #WebKitWebContext
Get the #WebKitGeolocationManager of @context.
the #WebKitGeolocationManager of @context.
a #WebKitWebContext
Asynchronously get the list of installed plugins.
When the operation is finished, @callback will be called. You can then call
webkit_web_context_get_plugins_finish() to get the result of the operation.
a #WebKitWebContext
a #GCancellable or %NULL to ignore
a #GAsyncReadyCallback to call when the request is satisfied
the data to pass to callback function
Finish an asynchronous operation started with webkit_web_context_get_plugins.
a #GList of #WebKitPlugin. You must free the #GList with
g_list_free() and unref the #WebKitPlugin<!-- -->s with g_object_unref() when you're done with them.
a #WebKitWebContext
a #GAsyncResult
Returns %WEBKIT_PROCESS_MODEL_MULTIPLE_SECONDARY_PROCESSES.
For more information about why this function is deprecated,
see webkit_web_context_set_process_model().
%WEBKIT_PROCESS_MODEL_MULTIPLE_SECONDARY_PROCESSES
the #WebKitWebContext
Get whether sandboxing is currently enabled.
%TRUE if sandboxing is enabled, or %FALSE otherwise.
a #WebKitWebContext
Get the #WebKitSecurityManager of @context.
the #WebKitSecurityManager of @context.
a #WebKitWebContext
Get whether spell checking feature is currently enabled.
%TRUE If spell checking is enabled, or %FALSE otherwise.
a #WebKitWebContext
Get the the list of spell checking languages.
Get the the list of spell checking languages associated with
@context, or %NULL if no languages have been previously set.
See webkit_web_context_set_spell_checking_languages() for more
details on the format of the languages in the list.
A %NULL-terminated
array of languages if available, or %NULL otherwise.
a #WebKitWebContext
Get the #WebKitWebContext:time-zone-override property.
a #WebKitWebContext
Get the TLS errors policy of @context.
Use webkit_website_data_manager_get_tls_errors_policy() instead.
a #WebKitTLSErrorsPolicy
a #WebKitWebContext
Get the #WebKitWebContext:use-system-appearance-for-scrollbars property.
%TRUE if scrollbars are rendering using the system appearance, or %FALSE otherwise
a #WebKitWebContext
Gets the maximum number of web processes that can be created at the same time for the @context.
This function is now deprecated and always returns 0 (no limit). See also webkit_web_context_set_web_process_count_limit().
the maximum limit of web processes, or 0 if there isn't a limit.
the #WebKitWebContext
Get the #WebKitWebsiteDataManager of @context.
a #WebKitWebsiteDataManager
the #WebKitWebContext
Sets initial desktop notification permissions for the @context.
@allowed_origins and @disallowed_origins must each be #GList of
#WebKitSecurityOrigin objects representing origins that will,
respectively, either always or never have permission to show desktop
notifications. No #WebKitNotificationPermissionRequest will ever be
generated for any of the security origins represented in
@allowed_origins or @disallowed_origins. This function is necessary
because some webpages proactively check whether they have permission
to display notifications without ever creating a permission request.
This function only affects web processes that have not already been
created. The best time to call it is when handling
#WebKitWebContext::initialize-notification-permissions so as to
ensure that new web processes receive the most recent set of
permissions.
the #WebKitWebContext
a #GList of security origins
a #GList of security origins
Get whether automation is allowed in @context.
See also webkit_web_context_set_automation_allowed().
%TRUE if automation is allowed or %FALSE otherwise.
the #WebKitWebContext
Get whether a #WebKitWebContext is ephemeral.
%TRUE if @context is ephemeral or %FALSE otherwise.
the #WebKitWebContext
Resolve the domain name of the given @hostname in advance.
Resolve the domain name of the given @hostname in advance, so that if a URI
of @hostname is requested the load will be performed more quickly.
a #WebKitWebContext
a hostname to be resolved
Register @scheme in @context.
Register @scheme in @context, so that when an URI request with @scheme is made in the
#WebKitWebContext, the #WebKitURISchemeRequestCallback registered will be called with a
#WebKitURISchemeRequest.
It is possible to handle URI scheme requests asynchronously, by calling g_object_ref() on the
#WebKitURISchemeRequest and calling webkit_uri_scheme_request_finish() later
when the data of the request is available or
webkit_uri_scheme_request_finish_error() in case of error.
```c
static void
about_uri_scheme_request_cb (WebKitURISchemeRequest *request,
gpointer user_data)
{
GInputStream *stream;
gsize stream_length;
const gchar *path = webkit_uri_scheme_request_get_path (request);
if (!g_strcmp0 (path, "memory")) {
// Create a GInputStream with the contents of memory about page, and set its length to stream_length
} else if (!g_strcmp0 (path, "applications")) {
// Create a GInputStream with the contents of applications about page, and set its length to stream_length
} else if (!g_strcmp0 (path, "example")) {
gchar *contents = g_strdup_printf ("<html><body><p>Example about page</p></body></html>");
stream_length = strlen (contents);
stream = g_memory_input_stream_new_from_data (contents, stream_length, g_free);
} else {
GError *error = g_error_new (ABOUT_HANDLER_ERROR, ABOUT_HANDLER_ERROR_INVALID, "Invalid about:%s page.", path);
webkit_uri_scheme_request_finish_error (request, error);
g_error_free (error);
return;
}
webkit_uri_scheme_request_finish (request, stream, stream_length, "text/html");
g_object_unref (stream);
}
```
a #WebKitWebContext
the network scheme to register
a #WebKitURISchemeRequestCallback
data to pass to callback function
destroy notify for @user_data
Send @message to all web process extensions associated to @context.
If @message is floating, it's consumed.
the #WebKitWebContext
a #WebKitUserMessage
Set an additional directory where WebKit will look for plugins.
a #WebKitWebContext
the directory to add
Set whether automation is allowed in @context.
When automation is enabled the browser could
be controlled by another process by requesting an automation session. When a new automation
session is requested the signal #WebKitWebContext::automation-started is emitted.
Automation is disabled by default, so you need to explicitly call this method passing %TRUE
to enable it.
Note that only one #WebKitWebContext can have automation enabled, so this will do nothing
if there's another #WebKitWebContext with automation already enabled.
the #WebKitWebContext
value to set
Specifies a usage model for WebViews.
Specifies a usage model for WebViews, which WebKit will use to
determine its caching behavior. All web views follow the cache
model. This cache model determines the RAM and disk space to use
for caching previously viewed content .
Research indicates that users tend to browse within clusters of
documents that hold resources in common, and to revisit previously
visited documents. WebKit and the frameworks below it include
built-in caches that take advantage of these patterns,
substantially improving document load speed in browsing
situations. The WebKit cache model controls the behaviors of all of
these caches, including various WebCore caches.
Browsers can improve document load speed substantially by
specifying %WEBKIT_CACHE_MODEL_WEB_BROWSER. Applications without a
browsing interface can reduce memory usage substantially by
specifying %WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER. The default value is
%WEBKIT_CACHE_MODEL_WEB_BROWSER.
the #WebKitWebContext
a #WebKitCacheModel
Set the directory where disk cache files will be stored.
This method must be called before loading anything in this context, otherwise
it will not have any effect.
Note that this method overrides the directory set in the #WebKitWebsiteDataManager,
but it doesn't change the value returned by webkit_website_data_manager_get_disk_cache_directory()
since the #WebKitWebsiteDataManager is immutable.
Use webkit_web_context_new_with_website_data_manager() instead.
a #WebKitWebContext
the directory to set
Set the directory path to store the favicons database.
Set the directory path to be used to store the favicons database
for @context on disk. Passing %NULL as @path means using the
default directory for the platform (see g_get_user_cache_dir()).
Calling this method also means enabling the favicons database for
its use from the applications, so that's why it's expected to be
called only once. Further calls for the same instance of
#WebKitWebContext won't cause any effect.
a #WebKitWebContext
an absolute path to the icon database
directory or %NULL to use the defaults
Set the network proxy settings to be used by connections started in @context.
By default %WEBKIT_NETWORK_PROXY_MODE_DEFAULT is used, which means that the
system settings will be used (g_proxy_resolver_get_default()).
If you want to override the system default settings, you can either use
%WEBKIT_NETWORK_PROXY_MODE_NO_PROXY to make sure no proxies are used at all,
or %WEBKIT_NETWORK_PROXY_MODE_CUSTOM to provide your own proxy settings.
When @proxy_mode is %WEBKIT_NETWORK_PROXY_MODE_CUSTOM @proxy_settings must be
a valid #WebKitNetworkProxySettings; otherwise, @proxy_settings must be %NULL.
Use webkit_website_data_manager_set_network_proxy_settings() instead.
a #WebKitWebContext
a #WebKitNetworkProxyMode
a #WebKitNetworkProxySettings, or %NULL
Set the list of preferred languages.
Set the list of preferred languages, sorted from most desirable
to least desirable. The list will be used in the following ways:
- Determining how to build the `Accept-Language` HTTP header that will be
included in the network requests started by the #WebKitWebContext.
- Setting the values of `navigator.language` and `navigator.languages`.
- The first item in the list sets the default locale for JavaScript
`Intl` functions.
a #WebKitWebContext
a %NULL-terminated list of language identifiers
This function previously allowed specifying the process model to use.
However, since 2.26, the only allowed process model is
%WEBKIT_PROCESS_MODEL_MULTIPLE_SECONDARY_PROCESSES, so this function
does nothing.
the #WebKitWebContext
a #WebKitProcessModel
Set whether WebKit subprocesses will be sandboxed.
Set whether WebKit subprocesses will be sandboxed, limiting access to the system.
This method **must be called before any web process has been created**,
as early as possible in your application. Calling it later is a fatal error.
This is only implemented on Linux and is a no-op otherwise.
a #WebKitWebContext
if %TRUE enable sandboxing
Enable or disable the spell checking feature.
a #WebKitWebContext
Value to be set
Set the list of spell checking languages to be used for spell
checking.
The locale string typically is in the form lang_COUNTRY, where lang
is an ISO-639 language code, and COUNTRY is an ISO-3166 country code.
For instance, sv_FI for Swedish as written in Finland or pt_BR
for Portuguese as written in Brazil.
You need to call this function with a valid list of languages at
least once in order to properly enable the spell checking feature
in WebKit.
a #WebKitWebContext
a %NULL-terminated list of spell checking languages
Set the TLS errors policy of @context as @policy.
Use webkit_website_data_manager_set_tls_errors_policy() instead.
a #WebKitWebContext
a #WebKitTLSErrorsPolicy
Set the #WebKitWebContext:use-system-appearance-for-scrollbars property.
This is now deprecated and when WebKit is built with Skia this method does nothing.
a #WebKitWebContext
value to set
Set the directory where WebKit will look for web process extensions.
This method must be called before loading anything in this context,
otherwise it will not have any effect. You can connect to
#WebKitWebContext::initialize-web-extensions to call this method
before anything is loaded.
a #WebKitWebContext
the directory to add
Set user data to be passed to web process extensions on initialization.
The data will be passed to the
#WebKitWebExtensionInitializeWithUserDataFunction.
This method must be called before loading anything in this context,
otherwise it will not have any effect. You can connect to
#WebKitWebContext::initialize-web-extensions to call this method
before anything is loaded.
a #WebKitWebContext
a #GVariant
Sets the maximum number of web processes.
Sets the maximum number of web processes that can be created at the same time for the @context.
The default value is 0 and means no limit.
This function is now deprecated and does nothing for security reasons.
the #WebKitWebContext
the maximum number of web processes
The directory where local storage data will be saved.
Use #WebKitWebsiteDataManager:local-storage-directory instead.
The #WebKitMemoryPressureSettings applied to the web processes created by this context.
Whether swap Web processes on cross-site navigations is enabled.
When enabled, pages from each security origin will be handled by
their own separate Web processes, which are started (and
terminated) on demand as the user navigates across different
domains. This is an important security measure which helps prevent
websites stealing data from other visited pages.
The timezone override for this web context. Setting this property provides a better
alternative to configure the timezone information for all webviews managed by the WebContext.
The other, less optimal, approach is to globally set the TZ environment variable in the
process before creating the context. However this approach might not be very convenient and
can have side-effects in your application.
The expected values for this property are defined in the IANA timezone database. See this
wikipedia page for instance, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
Whether to use system appearance for rendering scrollbars.
This is enabled by default for backwards compatibility, but it's only
recommened to use when the application includes other widgets to ensure
consistency, or when consistency with other applications is required too.
The #WebKitWebsiteDataManager associated with this context.
This signal is emitted when a new automation request is made.
Note that it will never be emitted if automation is not enabled in @context,
see webkit_web_context_set_automation_allowed() for more details.
the #WebKitAutomationSession associated with this event
This signal is emitted when a new download request is made.
the #WebKitDownload associated with this event
This signal is emitted when a #WebKitWebContext needs to set
initial notification permissions for a web process. It is emitted
when a new web process is about to be launched, and signals the
most appropriate moment to use
webkit_web_context_initialize_notification_permissions(). If no
notification permissions have changed since the last time this
signal was emitted, then there is no need to call
webkit_web_context_initialize_notification_permissions() again.
This signal is emitted when a new web process is about to be
launched. It signals the most appropriate moment to use
webkit_web_context_set_web_extensions_initialization_user_data()
and webkit_web_context_set_web_extensions_directory().
This signal is emitted when a #WebKitUserMessage is received from a
web process extension. 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.
%TRUE if the message was handled, or %FALSE otherwise.
the #WebKitUserMessage received
Enum values used for setting if a #WebKitWebView is intended for
WebExtensions.
Not for an extension.
For a ManifestV2 extension.
For a ManifestV3 extension.
Access to the WebKit inspector.
The WebKit Inspector is a graphical tool to inspect and change the
content of a #WebKitWebView. It also includes an interactive
JavaScript debugger. Using this class one can get a #GtkWidget
which can be embedded into an application to show the inspector.
The inspector is available when the #WebKitSettings of the
#WebKitWebView has set the #WebKitSettings:enable-developer-extras
to true, otherwise no inspector is available.
```c
// Enable the developer extras
WebKitSettings *settings = webkit_web_view_get_settings (WEBKIT_WEB_VIEW(my_webview));
g_object_set (G_OBJECT(settings), "enable-developer-extras", TRUE, NULL);
// Load some data or reload to be able to inspect the page
webkit_web_view_load_uri (WEBKIT_WEB_VIEW(my_webview), "http://www.gnome.org");
// Show the inspector
WebKitWebInspector *inspector = webkit_web_view_get_inspector (WEBKIT_WEB_VIEW(my_webview));
webkit_web_inspector_show (WEBKIT_WEB_INSPECTOR(inspector));
```
Request @inspector to be attached.
The signal #WebKitWebInspector::attach
will be emitted. If the inspector is already attached it does nothing.
a #WebKitWebInspector
Request @inspector to be closed.
a #WebKitWebInspector
Request @inspector to be detached.
The signal #WebKitWebInspector::detach
will be emitted. If the inspector is already detached it does nothing.
a #WebKitWebInspector
Get the height that the inspector view when attached.
Get the height that the inspector view should have when
it's attached. If the inspector view is not attached this
returns 0.
the height of the inspector view when attached
a #WebKitWebInspector
Whether the @inspector can be attached to the same window that contains
the inspected view.
%TRUE if there is enough room for the inspector view inside the
window that contains the inspected view, or %FALSE otherwise.
a #WebKitWebInspector
Get the URI that is currently being inspected.
This can be %NULL if
nothing has been loaded yet in the inspected view, if the inspector
has been closed or when inspected view was loaded from a HTML string
instead of a URI.
the URI that is currently being inspected or %NULL
a #WebKitWebInspector
Get the #WebKitWebViewBase used to display the inspector.
This might be %NULL if the inspector hasn't been loaded yet,
or it has been closed.
the #WebKitWebViewBase used to display the inspector or %NULL
a #WebKitWebInspector
Whether the @inspector view is currently attached to the same window that contains
the inspected view.
%TRUE if @inspector is currently attached or %FALSE otherwise
a #WebKitWebInspector
Request @inspector to be shown.
a #WebKitWebInspector
The height that the inspector view should have when it is attached.
Whether the @inspector can be attached to the same window that contains
the inspected view.
The URI that is currently being inspected.
Emitted when the inspector is requested to be attached to the window
where the inspected web view is.
If this signal is not handled the inspector view will be automatically
attached to the inspected view, so you only need to handle this signal
if you want to attach the inspector view yourself (for example, to add
the inspector view to a browser tab).
To prevent the inspector view from being attached you can connect to this
signal and simply return %TRUE.
%TRUE to stop other handlers from being invoked for the event.
%FALSE to propagate the event further.
Emitted when the inspector should be shown.
If the inspector is not attached the inspector window should be shown
on top of any other windows.
If the inspector is attached the inspector view should be made visible.
For example, if the inspector view is attached using a tab in a browser
window, the browser window should be raised and the tab containing the
inspector view should be the active one.
In both cases, if this signal is not handled, the default implementation
calls gtk_window_present() on the current toplevel #GtkWindow of the
inspector view.
%TRUE to stop other handlers from being invoked for the event.
%FALSE to propagate the event further.
Emitted when the inspector page is closed. If you are using your own
inspector window, you should connect to this signal and destroy your
window.
Emitted when the inspector is requested to be detached from the window
it is currently attached to. The inspector is detached when the inspector page
is about to be closed, and this signal is emitted right before
#WebKitWebInspector::closed, or when the user clicks on the detach button
in the inspector view to show the inspector in a separate window. In this case
the signal #WebKitWebInspector::open-window is emitted after this one.
To prevent the inspector view from being detached you can connect to this
signal and simply return %TRUE.
%TRUE to stop other handlers from being invoked for the event.
%FALSE to propagate the event further.
Emitted when the inspector is requested to open in a separate window.
If this signal is not handled, a #GtkWindow with the inspector will be
created and shown, so you only need to handle this signal if you want
to use your own window.
This signal is emitted after #WebKitWebInspector::detach to show
the inspector in a separate window after being detached.
To prevent the inspector from being shown you can connect to this
signal and simply return %TRUE
%TRUE to stop other handlers from being invoked for the event.
%FALSE to propagate the event further.
Enum values used to specify the reason why the web process terminated abnormally.
the web process crashed.
the web process exceeded the memory limit.
the web process termination was requested by an API call. Since: 2.34
Represents a resource at the end of a URI.
A #WebKitWebResource encapsulates content for each resource at the
end of a particular URI. For example, one #WebKitWebResource will
be created for each separate image and stylesheet when a page is
loaded.
You can access the response and the URI for a given
#WebKitWebResource, using webkit_web_resource_get_uri() and
webkit_web_resource_get_response(), as well as the raw data, using
webkit_web_resource_get_data().
Asynchronously get the raw data for @resource.
When the operation is finished, @callback will be called. You can then call
webkit_web_resource_get_data_finish() to get the result of the operation.
a #WebKitWebResource
a #GCancellable or %NULL to ignore
a #GAsyncReadyCallback to call when the request is satisfied
the data to pass to callback function
Finish an asynchronous operation started with webkit_web_resource_get_data().
a
string with the data of @resource, or %NULL in case of error. if @length
is not %NULL, the size of the data will be assigned to it.
a #WebKitWebResource
a #GAsyncResult
return location for the length of the resource data
Retrieves the #WebKitURIResponse of the resource load operation.
This method returns %NULL if called before the response
is received from the server. You can connect to notify::response
signal to be notified when the response is received.
the #WebKitURIResponse, or %NULL if
the response hasn't been received yet.
a #WebKitWebResource
Returns the current active URI of @resource.
The active URI might change during
a load operation:
<orderedlist>
<listitem><para>
When the resource load starts, the active URI is the requested URI
</para></listitem>
<listitem><para>
When the initial request is sent to the server, #WebKitWebResource::sent-request
signal is emitted without a redirected response, the active URI is the URI of
the request sent to the server.
</para></listitem>
<listitem><para>
In case of a server redirection, #WebKitWebResource::sent-request signal
is emitted again with a redirected response, the active URI is the URI the request
was redirected to.
</para></listitem>
<listitem><para>
When the response is received from the server, the active URI is the final
one and it will not change again.
</para></listitem>
</orderedlist>
You can monitor the active URI by connecting to the notify::uri
signal of @resource.
the current active URI of @resource
a #WebKitWebResource
The #WebKitURIResponse associated with this resource.
The current active URI of the #WebKitWebResource.
See webkit_web_resource_get_uri() for more details.
This signal is emitted when an error occurs during the resource
load operation.
the #GError that was triggered
This signal is emitted when a TLS error occurs during the resource load operation.
a #GTlsCertificate
a #GTlsCertificateFlags with the verification status of @certificate
This signal is emitted when the resource load finishes successfully
or due to an error. In case of errors #WebKitWebResource::failed signal
is emitted before this one.
This signal is emitted after response is received,
every time new data has been received. It's
useful to know the progress of the resource load operation.
This is signal is deprecated since version 2.40 and it's never emitted.
the length of data received in bytes
This signal is emitted when @request has been sent to the
server. In case of a server redirection this signal is
emitted again with the @request argument containing the new
request sent to the server due to the redirection and the
@redirected_response parameter containing the response
received by the server for the initial request.
a #WebKitURIRequest
a #WebKitURIResponse, or %NULL
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.
Creates a new #WebKitWebView with the default #WebKitWebContext.
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().
The newly created #WebKitWebView widget
Creates a new #WebKitWebView with the given #WebKitWebContext.
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().
The newly created #WebKitWebView widget
the #WebKitWebContext to be used by the #WebKitWebView
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 #WebKitWebView::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.
The newly created #WebKitWebView widget
the related #WebKitWebView
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().
The newly created #WebKitWebView widget
a #WebKitSettings
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.
The newly created #WebKitWebView widget
a #WebKitUserContentManager.
Asynchronously call @body with @arguments in the script world with name @world_name of the main frame current context in @web_view.
The @arguments values must be one of the following types, or contain only the following GVariant types: number, string and dictionary.
The result of the operation can be a Promise that will be properly passed to the callback.
If @world_name is %NULL, the default world is used. Any value that is not %NULL is a distin ct world.
The @source_uri will be shown in exceptions and doesn't affect the behavior of the script.
When not provided, the document URL is used.
Note that if #WebKitSettings:enable-javascript is %FALSE, this method will do nothing.
If you want to use this method but still prevent web content from executing its own
JavaScript, then use #WebKitSettings:enable-javascript-markup.
When the operation is finished, @callback will be called. You can then call
webkit_web_view_call_async_javascript_function_finish() to get the result of the operation.
This is an example that shows how to pass arguments to a JS function that returns a Promise
that resolves with the passed argument:
```c
static void
web_view_javascript_finished (GObject *object,
GAsyncResult *result,
gpointer user_data)
{
JSCValue *value;
GError *error = NULL;
value = webkit_web_view_call_async_javascript_function_finish (WEBKIT_WEB_VIEW (object), result, &error);
if (!value) {
g_warning ("Error running javascript: %s", error->message);
g_error_free (error);
return;
}
if (jsc_value_is_number (value)) {
gint32 int_value = jsc_value_to_string (value);
JSCException *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: %d\n", int_value);
g_free (str_value);
} else {
g_warning ("Error running javascript: unexpected return value");
}
g_object_unref (value);
}
static void
web_view_evaluate_promise (WebKitWebView *web_view)
{
GVariantDict dict;
g_variant_dict_init (&dict, NULL);
g_variant_dict_insert (&dict, "count", "u", 42);
GVariant *args = g_variant_dict_end (&dict);
const gchar *body = "return new Promise((resolve) => { resolve(count); });";
webkit_web_view_call_async_javascript_function (web_view, body, -1, arguments, NULL, NULL, NULL, web_view_javascript_finished, NULL);
}
```
a #WebKitWebView
the function body
length of @body, or -1 if @body is a nul-terminated string
a #GVariant with format `a{sv}` storing the function arguments, or %NULL
the name of a #WebKitScriptWorld or %NULL to use the default
the source URI
a #GCancellable or %NULL to ignore
a #GAsyncReadyCallback to call when the script finished
the data to pass to callback function
Finish an asynchronous operation started with webkit_web_view_call_async_javascript_function().
a #JSCValue with the return value of the async function
or %NULL in case of error
a #WebKitWebView
a #GAsyncResult
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.
a #WebKitWebView
the command to check
a #GCancellable or %NULL to ignore
a #GAsyncReadyCallback to call when the request is satisfied
the data to pass to callback function
Finish an asynchronous operation started with webkit_web_view_can_execute_editing_command().
%TRUE if the editing command can be executed or %FALSE otherwise
a #WebKitWebView
a #GAsyncResult
Determines whether @web_view has a previous history item.
%TRUE if able to move back or %FALSE otherwise.
a #WebKitWebView
Determines whether @web_view has a next history item.
%TRUE if able to move forward or %FALSE otherwise.
a #WebKitWebView
Whether or not a MIME type can be displayed in @web_view.
%TRUE if the MIME type @mime_type can be displayed or %FALSE otherwise
a #WebKitWebView
a MIME type
Requests downloading of the specified URI string for @web_view.
a new #WebKitDownload representing
the download operation.
a #WebKitWebView
the URI to download
Asynchronously evaluate @script in the script world with name @world_name of the main frame current context in @web_view.
If @world_name is %NULL, the default world is used. Any value that is not %NULL is a distinct world.
The @source_uri will be shown in exceptions and doesn't affect the behavior of the script.
When not provided, the document URL is used.
Note that if #WebKitSettings:enable-javascript is %FALSE, this method will do nothing.
If you want to use this method but still prevent web content from executing its own
JavaScript, then use #WebKitSettings:enable-javascript-markup.
When the operation is finished, @callback will be called. You can then call
webkit_web_view_evaluate_javascript_finish() to get the result of the operation.
This is an example of using webkit_web_view_evaluate_javascript() with a script returning
a string:
```c
static void
web_view_javascript_finished (GObject *object,
GAsyncResult *result,
gpointer user_data)
{
JSCValue *value;
GError *error = NULL;
value = webkit_web_view_evaluate_javascript_finish (WEBKIT_WEB_VIEW (object), result, &error);
if (!value) {
g_warning ("Error running javascript: %s", error->message);
g_error_free (error);
return;
}
if (jsc_value_is_string (value)) {
gchar *str_value = jsc_value_to_string (value);
JSCException *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");
}
g_object_unref (value);
}
static void
web_view_get_link_url (WebKitWebView *web_view,
const gchar *link_id)
{
gchar *script = g_strdup_printf ("window.document.getElementById('%s').href;", link_id);
webkit_web_view_evaluate_javascript (web_view, script, -1, NULL, NULL, NULL, web_view_javascript_finished, NULL);
g_free (script);
}
```
a #WebKitWebView
the script to evaluate
length of @script, or -1 if @script is a nul-terminated string
the name of a #WebKitScriptWorld or %NULL to use the default
the source URI
a #GCancellable or %NULL to ignore
a #GAsyncReadyCallback to call when the script finished
the data to pass to callback function
Finish an asynchronous operation started with webkit_web_view_evaluate_javascript().
a #JSCValue with the result of the last executed statement in script
or %NULL in case of error
a #WebKitWebView
a #GAsyncResult
Request to execute the given @command for @web_view.
You can use webkit_web_view_can_execute_editing_command() to check whether
it's possible to execute the command.
a #WebKitWebView
the command to execute
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.
a #WebKitWebView
the command to execute
the command argument
Get the presentation type of #WebKitWebView when created for automation.
a #WebKitAutomationBrowsingContextPresentation.
a #WebKitWebView
Obtains the #WebKitBackForwardList associated with the given #WebKitWebView.
The #WebKitBackForwardList is owned by the #WebKitWebView.
the #WebKitBackForwardList
a #WebKitWebView
Gets the color that is used to draw the @web_view background.
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()
a #WebKitWebView
a #GdkRGBA to fill in with the background color
Get the camera capture state of a #WebKitWebView.
The #WebKitMediaCaptureState of the camera device. If #WebKitSettings:enable-mediastream
is %FALSE, this method will return %WEBKIT_MEDIA_CAPTURE_STATE_NONE.
a #WebKitWebView
Gets the web context of @web_view.
the #WebKitWebContext of the view
a #WebKitWebView
Returns the current custom character encoding name of @web_view.
the current custom character encoding name or %NULL if no
custom character encoding has been set.
a #WebKitWebView
Gets the configured default Content-Security-Policy.
The default policy or %NULL
a #WebKitWebView
Get the display capture state of a #WebKitWebView.
The #WebKitMediaCaptureState of the display device. If #WebKitSettings:enable-mediastream
is %FALSE, this method will return %WEBKIT_MEDIA_CAPTURE_STATE_NONE.
a #WebKitWebView
Gets the web editor state of @web_view.
the #WebKitEditorState of the view
a #WebKitWebView
Gets the value of the #WebKitWebView: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.
an estimate of the of the percent complete for a document
load as a range from 0.0 to 1.0.
a #WebKitWebView
Returns favicon currently associated to @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.
the favicon image or %NULL if there's no
icon associated with @web_view.
a #WebKitWebView
Gets the #WebKitFindController.
Gets the #WebKitFindController that will allow the caller to query
the #WebKitWebView for the text to look for.
the #WebKitFindController associated to
this particular #WebKitWebView.
the #WebKitWebView
Get the #WebKitInputMethodContext currently in use by @web_view.
Get the #WebKitInputMethodContext currently in use by @web_view, or %NULL if no input method is being used.
a #WebKitInputMethodContext, or %NULL
a #WebKitWebView
Get the #WebKitWebInspector associated to @web_view
the #WebKitWebInspector of @web_view
a #WebKitWebView
Gets the mute state of @web_view.
%TRUE if @web_view audio is muted or %FALSE is audio is not muted.
a #WebKitWebView
Get whether the current web process of a #WebKitWebView is responsive.
%TRUE if the web process attached to @web_view is responsive, or %FALSE otherwise.
a #WebKitWebView
Get the global JavaScript context.
Get the global JavaScript context used by @web_view to deserialize the
result values of scripts executed with webkit_web_view_run_javascript().
Use jsc_value_get_context() instead.
the JSGlobalContextRef used by @web_view to deserialize
the result values of scripts.
a #WebKitWebView
Return the main resource of @web_view.
the main #WebKitWebResource of the view
or %NULL if nothing has been loaded.
a #WebKitWebView
Get the microphone capture state of a #WebKitWebView.
The #WebKitMediaCaptureState of the microphone device. If #WebKitSettings:enable-mediastream
is %FALSE, this method will return %WEBKIT_MEDIA_CAPTURE_STATE_NONE.
a #WebKitWebView
Get the identifier of the #WebKitWebPage corresponding to
the #WebKitWebView
the page ID of @web_view.
a #WebKitWebView
Gets the current session state of @web_view
a #WebKitWebViewSessionState
a #WebKitWebView
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 #WebKitWebView<!-- -->s, so modifying
the settings of a #WebKitWebView would affect other
#WebKitWebView<!-- -->s using the same #WebKitSettings.
the #WebKitSettings attached to @web_view
a #WebKitWebView
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.
a #WebKitWebView
the #WebKitSnapshotRegion for this snapshot
#WebKitSnapshotOptions for the snapshot
a #GCancellable
a #GAsyncReadyCallback
user data
Finishes an asynchronous operation started with webkit_web_view_get_snapshot().
an image with the retrieved snapshot, or %NULL in case of error.
a #WebKitWebView
a #GAsyncResult
Gets the value of the #WebKitWebView:title property.
You can connect to notify::title signal of @web_view to
be notified when the title has been received.
The main frame document title of @web_view.
a #WebKitWebView
Retrieves the #GTlsCertificate associated with the main resource of @web_view.
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 #WebKitWebView::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.
%TRUE if the @web_view connection uses HTTPS and a response has been received
from the server, or %FALSE otherwise.
a #WebKitWebView
return location for a #GTlsCertificate
return location for a #GTlsCertificateFlags the verification status of @certificate
Returns the current active URI of @web_view.
The active URI might change during
a load operation:
<orderedlist>
<listitem><para>
When nothing has been loaded yet on @web_view the active URI is %NULL.
</para></listitem>
<listitem><para>
When a new load operation starts the active URI is the requested URI:
<itemizedlist>
<listitem><para>
If the load operation was started by webkit_web_view_load_uri(),
the requested URI is the given one.
</para></listitem>
<listitem><para>
If the load operation was started by webkit_web_view_load_html(),
the requested URI is "about:blank".
</para></listitem>
<listitem><para>
If the load operation was started by webkit_web_view_load_alternate_html(),
the requested URI is content URI provided.
</para></listitem>
<listitem><para>
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.
</para></listitem>
<listitem><para>
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.
</para></listitem>
</itemizedlist>
</para></listitem>
<listitem><para>
If there is a server redirection during the load operation,
the active URI is the redirected URI. When the signal
#WebKitWebView::load-changed is emitted with %WEBKIT_LOAD_REDIRECTED
event, the active URI is already updated to the redirected URI.
</para></listitem>
<listitem><para>
When the signal #WebKitWebView::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.
</para></listitem>
</orderedlist>
You can monitor the active URI by connecting to the notify::uri
signal of @web_view.
the current active URI of @web_view or %NULL
if nothing has been loaded yet.
a #WebKitWebView
Gets the user content manager associated to @web_view.
the #WebKitUserContentManager associated with the view
a #WebKitWebView
Get the view's #WebKitWebExtensionMode.
the #WebKitWebExtensionMode
a #WebKitWebView
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.
a #WebKitWebsiteDataManager
a #WebKitWebView
Gets the default website policies.
Gets the default website policies set on construction in the
@web_view. These can be overridden on a per-origin basis via the
#WebKitWebView::decide-policy signal handler.
See also webkit_policy_decision_use_with_policies().
the default #WebKitWebsitePolicies
associated with the view.
a #WebKitWebView
Get the #WebKitWindowProperties object.
Get the #WebKitWindowProperties object containing the properties
that the window containing @web_view should have.
the #WebKitWindowProperties of @web_view
a #WebKitWebView
Set the zoom level of @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.
the current zoom level of @web_view
a #WebKitWebView
Loads the previous history item.
You can monitor the load operation by connecting to
#WebKitWebView::load-changed signal.
a #WebKitWebView
Loads the next history item.
You can monitor the load operation by connecting to
#WebKitWebView::load-changed signal.
a #WebKitWebView
Loads the specific history item @list_item.
You can monitor the load operation by connecting to
#WebKitWebView::load-changed signal.
a #WebKitWebView
a #WebKitBackForwardListItem
Get whether a #WebKitWebView was created with #WebKitWebView:is-controlled-by-automation
property enabled.
Only #WebKitWebView<!-- -->s controlled by automation can be used in an
automation session.
%TRUE if @web_view is controlled by automation, or %FALSE otherwise.
a #WebKitWebView
Gets whether the user is allowed to edit the HTML document.
When @web_view is not editable an element in the HTML 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.
%TRUE if the user is allowed to edit the HTML document, or %FALSE otherwise.
a #WebKitWebView
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
#WebKitWebView:is-ephemeral for more details.
If @web_view was created with a ephemeral #WebKitWebView:related-view or an
ephemeral #WebKitWebView:web-context it will also be ephemeral.
%TRUE if @web_view is ephemeral or %FALSE otherwise.
a #WebKitWebView
Gets the value of the #WebKitWebView: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.
%TRUE if @web_view is loading a page or %FALSE otherwise.
a #WebKitWebView
Gets the value of the #WebKitWebView: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.
%TRUE if a page in @web_view is playing audio or %FALSE otherwise.
a #WebKitWebView
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 #WebKitWebView::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().
a #WebKitWebView
the new content to display as the main page of the @web_view
the URI for the alternate page content
the base URI for relative locations or %NULL
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 #WebKitWebView::load-changed signal.
a #WebKitWebView
input data to load
the MIME type of @bytes, or %NULL
the character encoding of @bytes, or %NULL
the base URI for relative locations or %NULL
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 #WebKitWebView::load-changed signal.
a #WebKitWebView
The HTML string to load
The base URI for relative locations or %NULL
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 #WebKitWebView::load-changed signal.
a #WebKitWebView
The plain text to load
Requests loading of the specified #WebKitURIRequest.
You can monitor the load operation by connecting to
#WebKitWebView::load-changed signal.
a #WebKitWebView
a #WebKitURIRequest to load
Requests loading of the specified URI string.
You can monitor the load operation by connecting to
#WebKitWebView::load-changed signal.
a #WebKitWebView
an URI string
Reloads the current contents of @web_view.
See also webkit_web_view_reload_bypass_cache().
a #WebKitWebView
Reloads the current contents of @web_view without
using any cached data.
a #WebKitWebView
Restore the @web_view session state from @state
a #WebKitWebView
a #WebKitWebViewSessionState
Asynchronously run @body 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. This API
differs from webkit_web_view_run_javascript_in_world() in that the JavaScript function can return a
Promise and its result will be properly passed to the callback.
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.
For instance here is a dummy example that shows how to pass arguments to a JS function that
returns a Promise that resolves with the passed argument:
```c
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_number (value)) {
gint32 int_value = jsc_value_to_string (value);
JSCException *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: %d\n", int_value);
g_free (str_value);
} else {
g_warning ("Error running javascript: unexpected return value");
}
webkit_javascript_result_unref (js_result);
}
static void
web_view_evaluate_promise (WebKitWebView *web_view)
{
GVariantDict dict;
g_variant_dict_init (&dict, NULL);
g_variant_dict_insert (&dict, "count", "u", 42);
GVariant *args = g_variant_dict_end (&dict);
const gchar *body = "return new Promise((resolve) => { resolve(count); });";
webkit_web_view_run_async_javascript_function_in_world (web_view, body, arguments, NULL, NULL, web_view_javascript_finished, NULL);
}
```
Use webkit_web_view_call_async_javascript_function() instead.
a #WebKitWebView
the JavaScript function body
a #GVariant with format `{&sv}` storing the function arguments. Function argument values must be one of the following types, or contain only the following GVariant types: number, string, array, and dictionary.
the name of a #WebKitScriptWorld, if no name (i.e. %NULL) is provided, the default world is used. Any value that is not %NULL is a distinct world.
a #GCancellable or %NULL to ignore
a #GAsyncReadyCallback to call when the script finished
the data to pass to callback function
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.
Use webkit_web_view_evaluate_javascript() instead.
a #WebKitWebView
the script to run
a #GCancellable or %NULL to ignore
a #GAsyncReadyCallback to call when the script finished
the data to pass to callback function
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:
```c
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)) {
gchar *str_value = jsc_value_to_string (value);
JSCException *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 = 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);
}
```
Use webkit_web_view_evaluate_javascript_finish() instead.
a #WebKitJavascriptResult with the result of the last executed statement in @script
or %NULL in case of error
a #WebKitWebView
a #GAsyncResult
Asynchronously run the script from @resource.
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.
Use webkit_web_view_evaluate_javascript() instead.
a #WebKitWebView
the location of the resource to load
a #GCancellable or %NULL to ignore
a #GAsyncReadyCallback to call when the script finished
the data to pass to callback function
Finish an asynchronous operation started with webkit_web_view_run_javascript_from_gresource().
Check webkit_web_view_run_javascript_finish() for a usage example.
Use webkit_web_view_evaluate_javascript_finish() instead.
a #WebKitJavascriptResult with the result of the last executed statement in @script
or %NULL in case of error
a #WebKitWebView
a #GAsyncResult
Asynchronously run @script in the script world.
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.
Use webkit_web_view_evaluate_javascript() instead.
a #WebKitWebView
the script to run
the name of a #WebKitScriptWorld
a #GCancellable or %NULL to ignore
a #GAsyncReadyCallback to call when the script finished
the data to pass to callback function
Finish an asynchronous operation started with webkit_web_view_run_javascript_in_world().
Use webkit_web_view_call_async_javascript_function_finish() instead.
a #WebKitJavascriptResult with the result of the last executed statement in @script
or %NULL in case of error
a #WebKitWebView
a #GAsyncResult
Asynchronously save the current web page.
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.
a #WebKitWebView
the #WebKitSaveMode specifying how the web page should be saved.
a #GCancellable or %NULL to ignore
a #GAsyncReadyCallback to call when the request is satisfied
the data to pass to callback function
Finish an asynchronous operation started with webkit_web_view_save().
a #GInputStream with the result of saving
the current web page or %NULL in case of error.
a #WebKitWebView
a #GAsyncResult
Asynchronously save the current web page.
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.
a #WebKitWebView
the #GFile where the current web page should be saved to.
the #WebKitSaveMode specifying how the web page should be saved.
a #GCancellable or %NULL to ignore
a #GAsyncReadyCallback to call when the request is satisfied
the data to pass to callback function
Finish an asynchronous operation started with webkit_web_view_save_to_file().
%TRUE if the web page was successfully saved to a file or %FALSE otherwise.
a #WebKitWebView
a #GAsyncResult
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.
a #WebKitWebView
a #WebKitUserMessage
a #GCancellable or %NULL to ignore
(nullable): A #GAsyncReadyCallback to call when the request is satisfied or %NULL
the data to pass to callback function
Finish an asynchronous operation started with webkit_web_view_send_message_to_page().
a #WebKitUserMessage with the reply or %NULL in case of error.
a #WebKitWebView
a #GAsyncResult
Sets the color that will be used to draw the @web_view background.
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
#GtkWidget:app-paintable property set to %TRUE for backgrounds colors to work.
```c
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);
}
```
a #WebKitWebView
a #GdkRGBA
Set the camera capture state of a #WebKitWebView.
If #WebKitSettings: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.
a #WebKitWebView
a #WebKitMediaCaptureState
Sets the @allowlist for CORS.
Sets the @allowlist for which
[Cross-Origin Resource Sharing](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS)
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.
a #WebKitWebView
an allowlist of URI patterns, or %NULL
Sets the current custom character encoding override of @web_view.
The custom character encoding will override any text encoding detected via HTTP headers or
META tags. Calling this method will stop any current load operation and reload the
current page. Setting the custom character encoding to %NULL removes the character
encoding override.
a #WebKitWebView
a character encoding name or %NULL
Set the display capture state of a #WebKitWebView.
If #WebKitSettings: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.
a #WebKitWebView
a #WebKitMediaCaptureState
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.
a #WebKitWebView
a #gboolean indicating the editable state
Set the #WebKitInputMethodContext to be used by @web_view.
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.
a #WebKitWebView
the #WebKitInputMethodContext to set, or %NULL
Sets the mute state of @web_view.
a #WebKitWebView
mute flag
Set the microphone capture state of a #WebKitWebView.
If #WebKitSettings: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.
a #WebKitWebView
a #WebKitMediaCaptureState
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 #WebKitWebView<!-- -->s.
a #WebKitWebView
a #WebKitSettings
Set the zoom level of @web_view.
Set the zoom level of @web_view, i.e. the factor by which the
view contents are scaled with respect to their original size.
a #WebKitWebView
the zoom level
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
#WebKitWebView::load-failed signal will be emitted with
%WEBKIT_NETWORK_ERROR_CANCELLED error.
a #WebKitWebView
Terminates the web process associated to @web_view.
When the web process gets terminated
using this method, the #WebKitWebView::web-process-terminated signal is emitted with
%WEBKIT_WEB_PROCESS_TERMINATED_BY_API as the reason for termination.
a #WebKitWebView
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 #WebKitWebView::close signal is emitted, otherwise nothing happens.
a #WebKitWebView
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.
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.
The default Content-Security-Policy used by the webview as if it were set
by an HTTP header.
This applies to all content loaded including through navigation or via the various
webkit_web_view_load_\* APIs. However do note that many WebKit APIs bypass
Content-Security-Policy in general such as #WebKitUserContentManager and
webkit_web_view_run_javascript().
Policies are additive so if a website sets its own policy it still applies
on top of the policy set here.
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.
Whether the pages loaded inside #WebKitWebView are editable. For more
information see webkit_web_view_set_editable().
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.
The favicon currently associated to the #WebKitWebView.
See webkit_web_view_get_favicon() for more details.
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.
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().
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.
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.
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.
Whether the web process currently associated to the #WebKitWebView is responsive.
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.
The identifier of the #WebKitWebPage corresponding to the #WebKitWebView.
The related #WebKitWebView used when creating the view to share the
same web process and network session. This property is not readable
because the related web view is only valid during the object construction.
The #WebKitSettings of the view.
The main frame document title of this #WebKitWebView. If
the title has not been received yet, it will be %NULL.
The current active URI of the #WebKitWebView.
See webkit_web_view_get_uri() for more details.
The #WebKitUserContentManager of the view.
The #WebKitWebContext of the view.
This configures @web_view to treat the content as a WebExtension.
Note that this refers to the web standard [WebExtensions](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions)
and not WebKitWebExtensions.
In practice this limits the Content-Security-Policies that are allowed to be set. Some details can be found in
[Chrome's documentation](https://developer.chrome.com/docs/extensions/mv3/intro/mv3-migration/#content-security-policy).
The #WebKitWebsitePolicies for the view.
The zoom level of the #WebKitWebView content.
See webkit_web_view_set_zoom_level() for more details.
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.
%TRUE to stop other handlers from being invoked for the event.
%FALSE to propagate the event further.
a #WebKitAuthenticationRequest
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.
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>
The @event parameter is now deprecated. Use webkit_context_menu_get_event() to get the
#GdkEvent that triggered 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.
%TRUE to stop other handlers from being invoked for the event.
%FALSE to propagate the event further.
the proposed #WebKitContextMenu
the #GdkEvent that triggered the context menu. Deprecated 2.40.
a #WebKitHitTestResult
Emitted after #WebKitWebView::context-menu signal, if the context menu is shown,
to notify that the context menu is dismissed.
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
#WebKitWebView:related-view for more details.
The new #WebKitWebView should not be displayed to the user
until the #WebKitWebView::ready-to-show signal is emitted.
a newly allocated #WebKitWebView widget
or %NULL to propagate the event further.
a #WebKitNavigationAction
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:
```c
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.
%TRUE to stop other handlers from being invoked for the event.
%FALSE to propagate the event further.
the #WebKitPolicyDecision
a #WebKitPolicyDecisionType denoting the type of @decision
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).
%TRUE to stop other handlers from being invoked for the event.
%FALSE to continue emission of the event.
Prior to 2.46, this signal was emitted when insecure content was
loaded in a secure content. Since 2.46, this signal is generally
no longer emitted.
the #WebKitInsecureContentEvent
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.
%TRUE to stop other handlers from being invoked for the event.
%FALSE to continue emission of the event.
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.
You can handle this signal and use a switch to track any ongoing
load operation.
```c
static void web_view_load_changed (WebKitWebView *web_view,
WebKitLoadEvent load_event,
gpointer user_data)
{
switch (load_event) {
case WEBKIT_LOAD_STARTED:
// New load, we have now a provisional URI
provisional_uri = webkit_web_view_get_uri (web_view);
// Here we could start a spinner or update the
// location bar with the provisional URI
break;
case WEBKIT_LOAD_REDIRECTED:
redirected_uri = webkit_web_view_get_uri (web_view);
break;
case WEBKIT_LOAD_COMMITTED:
// The load is being performed. Current URI is
// the final one and it won't change unless a new
// load is requested or a navigation within the
// same page is performed
uri = webkit_web_view_get_uri (web_view);
break;
case WEBKIT_LOAD_FINISHED:
// Load finished, we can now stop the spinner
break;
}
}
```
the #WebKitLoadEvent
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.
%TRUE to stop other handlers from being invoked for the event.
%FALSE to propagate the event further.
the #WebKitLoadEvent of the load operation
the URI that failed to load
the #GError that was triggered
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, #WebKitWebView::load-failed will be emitted. The load
will finish regardless of the returned value.
%TRUE to stop other handlers from being invoked for the event.
%FALSE to propagate the event further.
the URI that failed to load
a #GTlsCertificate
a #GTlsCertificateFlags with the verification status of @certificate
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.
a #WebKitHitTestResult
a bitmask of #GdkModifierType
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:
```c
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.
%TRUE to stop other handlers from being invoked for the event.
%FALSE to propagate the event further.
the #WebKitPermissionRequest
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.
%TRUE to stop other handlers from being invoked for the event.
%FALSE to propagate the event further.
the #WebKitPrintOperation that will handle the print request
This signal allows the User-Agent to respond to permission requests for powerful features, as
specified by the [Permissions W3C Specification](https://w3c.github.io/permissions/).
You can reply to the query using webkit_permission_state_query_finish().
You can handle the query asynchronously by calling webkit_permission_state_query_ref() on
@query and returning %TRUE. If the last reference of @query is removed and the query has not
been handled, the query result will be set to %WEBKIT_QUERY_PERMISSION_PROMPT.
%TRUE if the message was handled, or %FALSE otherwise.
the #WebKitPermissionStateQuery
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().
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.
a #WebKitWebResource
a #WebKitURIRequest
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.
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.
%TRUE to stop other handlers from being invoked for the event.
%FALSE to propagate the event further.
a #WebKitColorChooserRequest
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.
%TRUE to stop other handlers from being invoked for the event.
%FALSE to propagate the event further.
a #WebKitFileChooserRequest
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>
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.
%TRUE to stop other handlers from being invoked for the event.
%FALSE to propagate the event further.
the #WebKitScriptDialog to show
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.
%TRUE to stop other handlers from being invoked. %FALSE otherwise.
a #WebKitNotification
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 @event parameter is now deprecated. Use webkit_option_menu_get_event() to get the
#GdkEvent that triggered the dropdown menu.
The default signal handler will pop up a #GtkMenu.
%TRUE to stop other handlers from being invoked for the event.
%FALSE to propagate the event further.
the #WebKitOptionMenu
the #GdkEvent that triggered the menu, or %NULL. Deprecated 2.40
the option element area
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.
a #WebKitFormSubmissionRequest
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.
%TRUE if the message was handled, or %FALSE otherwise.
the #WebKitUserMessage received
This signal is emitted when the web process crashes.
Use WebKitWebView::web-process-terminated instead.
%TRUE to stop other handlers from being invoked for the event.
%FALSE to propagate the event further.
This signal is emitted when the web process terminates abnormally due
to @reason.
the a #WebKitWebProcessTerminationReason
Handles serialization of a web view's browsing state.
Creates a new #WebKitWebViewSessionState from serialized data.
a new #WebKitWebViewSessionState, or %NULL if @data doesn't contain a
valid serialized #WebKitWebViewSessionState.
a #GBytes
Atomically increments the reference count of @state by one.
This
function is MT-safe and may be called from any thread.
The passed in #WebKitWebViewSessionState
a #WebKitWebViewSessionState
Serializes a #WebKitWebViewSessionState.
a #GBytes containing the @state serialized.
a #WebKitWebViewSessionState
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.
a #WebKitWebViewSessionState
Data stored locally by a web site.
WebKitWebsiteData represents data stored in the client by a particular website.
A website is normally a set of URLs grouped by domain name. You can get the website name,
which is usually the domain, with webkit_website_data_get_name().
Documents loaded from the file system, like file:// URIs, are all grouped in the same WebKitWebsiteData
with the name "Local files".
A website can store different types of data in the client side. #WebKitWebsiteDataTypes is an enum containing
all the possible data types; use webkit_website_data_get_types() to get the bitmask of data types.
It's also possible to know the size of the data stored for some of the #WebKitWebsiteDataTypes by using
webkit_website_data_get_size().
A list of WebKitWebsiteData can be retrieved with webkit_website_data_manager_fetch(). See #WebKitWebsiteDataManager
for more information.
Gets the name of #WebKitWebsiteData.
This is the website name, normally represented by
a domain or host name. All local documents are grouped in the same #WebKitWebsiteData using
the name "Local files".
the website name of @website_data.
a #WebKitWebsiteData
Gets the size of the data of types @types in a #WebKitWebsiteData.
Note that currently the data size is only known for %WEBKIT_WEBSITE_DATA_DISK_CACHE data type
so for all other types 0 will be returned.
the size of @website_data for the given @types.
a #WebKitWebsiteData
a bitmask of #WebKitWebsiteDataTypes
Gets the types of data stored in the client for a #WebKitWebsiteData.
These are the
types actually present, not the types queried with webkit_website_data_manager_fetch().
a bitmask of #WebKitWebsiteDataTypes in @website_data
a #WebKitWebsiteData
Atomically increments the reference count of @website_data by one.
This function is MT-safe and may be called from any thread.
The passed #WebKitWebsiteData
a #WebKitWebsiteData
Atomically decrements the reference count of @website_data by one.
If the reference count drops to 0, all memory allocated by
#WebKitWebsiteData is released. This function is MT-safe and may be
called from any thread.
A #WebKitWebsiteData
A permission request for accessing website data from third-party domains.
WebKitWebsiteDataAccessPermissionRequest represents a request for
permission to allow a third-party domain access its cookies.
When a WebKitWebsiteDataAccessPermissionRequest is not handled by the user,
it is denied by default.
Get the current domain being browsed.
the current domain name
a #WebKitWebsiteDataAccessPermissionRequest
Get the domain requesting permission to access its cookies while browsing the current domain.
the requesting domain name
a #WebKitWebsiteDataAccessPermissionRequest
Manages data stored locally by web sites.
You can use WebKitWebsiteDataManager to configure the local directories
where website data will be stored. Use #WebKitWebsiteDataManager:base-data-directory
and #WebKitWebsiteDataManager:base-cache-directory set a common base directory for all
website data and caches.
A WebKitWebsiteDataManager can be ephemeral, in which case all the directory configuration
is not needed because website data will never persist. You can create an ephemeral WebKitWebsiteDataManager
with webkit_website_data_manager_new_ephemeral().
WebKitWebsiteDataManager can also be used to fetch website data, remove data
stored by particular websites, or clear data for all websites modified since a given
period of time.
Creates a new #WebKitWebsiteDataManager with the given options.
It must be passed as construction parameter of a #WebKitWebContext.
the newly created #WebKitWebsiteDataManager
name of the first option to set
value of first option, followed by more options, %NULL-terminated
Creates an ephemeral #WebKitWebsiteDataManager.
See #WebKitWebsiteDataManager:is-ephemeral for more details.
a new ephemeral #WebKitWebsiteDataManager.
Sets @settings as the #WebKitMemoryPressureSettings.
Sets @settings as the #WebKitMemoryPressureSettings to be used by all the network
processes created by any instance of #WebKitWebsiteDataManager after this function
is called.
Be sure to call this function before creating any #WebKitWebsiteDataManager, as network
processes of existing instances are not guaranteed to receive the passed settings.
The periodic check for used memory is disabled by default on network processes. This will
be enabled only if custom settings have been set using this function. After that, in order
to remove the custom settings and disable the periodic check, this function must be called
passing %NULL as the value of @settings.
a WebKitMemoryPressureSettings.
Asynchronously clear the website data of the given @types modified in the past @timespan.
If @timespan is 0, all website data will be removed.
When the operation is finished, @callback will be called. You can then call
webkit_website_data_manager_clear_finish() to get the result of the operation.
Due to implementation limitations, this function does not currently delete
any stored cookies if @timespan is nonzero. This behavior may change in the
future.
a #WebKitWebsiteDataManager
#WebKitWebsiteDataTypes
a #GTimeSpan
a #GCancellable or %NULL to ignore
a #GAsyncReadyCallback to call when the request is satisfied
the data to pass to callback function
Finish an asynchronous operation started with webkit_website_data_manager_clear()
%TRUE if website data was successfully cleared, or %FALSE otherwise.
a #WebKitWebsiteDataManager
a #GAsyncResult
Asynchronously get the list of #WebKitWebsiteData for the given @types.
When the operation is finished, @callback will be called. You can then call
webkit_website_data_manager_fetch_finish() to get the result of the operation.
a #WebKitWebsiteDataManager
#WebKitWebsiteDataTypes
a #GCancellable or %NULL to ignore
a #GAsyncReadyCallback to call when the request is satisfied
the data to pass to callback function
Finish an asynchronous operation started with webkit_website_data_manager_fetch().
a #GList of #WebKitWebsiteData. You must free the #GList with
g_list_free() and unref the #WebKitWebsiteData<!-- -->s with webkit_website_data_unref() when you're done with them.
a #WebKitWebsiteDataManager
a #GAsyncResult
Get the #WebKitWebsiteDataManager:base-cache-directory property.
the base directory for caches, or %NULL if
#WebKitWebsiteDataManager:base-cache-directory was not provided or @manager is ephemeral.
a #WebKitWebsiteDataManager
Get the #WebKitWebsiteDataManager:base-data-directory property.
the base directory for website data, or %NULL if
#WebKitWebsiteDataManager:base-data-directory was not provided or @manager is ephemeral.
a #WebKitWebsiteDataManager
Get the #WebKitCookieManager of @manager.
a #WebKitCookieManager
a #WebKitWebsiteDataManager
Get the #WebKitWebsiteDataManager:disk-cache-directory property.
, use webkit_website_data_manager_get_base_cache_directory() instead.
the directory where HTTP disk cache is stored or %NULL if @manager is ephemeral.
a #WebKitWebsiteDataManager
Get the #WebKitWebsiteDataManager:dom-cache-directory property.
, use webkit_website_data_manager_get_base_cache_directory() instead.
the directory where DOM cache is stored or %NULL if @manager is ephemeral.
a #WebKitWebsiteDataManager
Get the #WebKitWebsiteDataManager:hsts-cache-directory property.
, use webkit_website_data_manager_get_base_cache_directory() instead.
the directory where the HSTS cache is stored or %NULL if @manager is ephemeral.
a #WebKitWebsiteDataManager
Get the #WebKitWebsiteDataManager:indexeddb-directory property.
, use webkit_website_data_manager_get_base_data_directory() instead.
the directory where IndexedDB databases are stored or %NULL if @manager is ephemeral.
a #WebKitWebsiteDataManager
Get the #WebKitWebsiteDataManager:itp-directory property.
, use webkit_website_data_manager_get_base_data_directory() instead.
the directory where Intelligent Tracking Prevention data is stored or %NULL if @manager is ephemeral.
a #WebKitWebsiteDataManager
Get whether Intelligent Tracking Prevention (ITP) is enabled or not.
%TRUE if ITP is enabled, or %FALSE otherwise.
a #WebKitWebsiteDataManager
Asynchronously get the list of #WebKitITPThirdParty seen for @manager.
Every #WebKitITPThirdParty
contains the list of #WebKitITPFirstParty under which it has been seen.
When the operation is finished, @callback will be called. You can then call
webkit_website_data_manager_get_itp_summary_finish() to get the result of the operation.
a #WebKitWebsiteDataManager
a #GCancellable or %NULL to ignore
a #GAsyncReadyCallback to call when the request is satisfied
the data to pass to callback function
Finish an asynchronous operation started with webkit_website_data_manager_get_itp_summary().
a #GList of #WebKitITPThirdParty.
You must free the #GList with g_list_free() and unref the #WebKitITPThirdParty<!-- -->s with
webkit_itp_third_party_unref() when you're done with them.
a #WebKitWebsiteDataManager
a #GAsyncResult
Get the #WebKitWebsiteDataManager:local-storage-directory property.
, use webkit_website_data_manager_get_base_data_directory() instead.
the directory where local storage data is stored or %NULL if @manager is ephemeral.
a #WebKitWebsiteDataManager
Get the #WebKitWebsiteDataManager:offline-application-cache-directory property.
, use webkit_website_data_manager_get_base_cache_directory() instead.
the directory where offline web application cache is stored or %NULL if @manager is ephemeral.
a #WebKitWebsiteDataManager
Get whether persistent credential storage is enabled or not.
See also webkit_website_data_manager_set_persistent_credential_storage_enabled().
%TRUE if persistent credential storage is enabled, or %FALSE otherwise.
a #WebKitWebsiteDataManager
Get the #WebKitWebsiteDataManager:service-worker-registrations-directory property.
, use webkit_website_data_manager_get_base_data_directory() instead.
the directory where service worker registrations are stored or %NULL if @manager is ephemeral.
a #WebKitWebsiteDataManager
Get the TLS errors policy of @manager.
a #WebKitTLSErrorsPolicy
a #WebKitWebsiteDataManager
Get the #WebKitWebsiteDataManager:websql-directory property.
WebSQL is no longer supported. Use IndexedDB instead.
the directory where WebSQL databases are stored or %NULL if @manager is ephemeral.
a #WebKitWebsiteDataManager
Get whether a #WebKitWebsiteDataManager is ephemeral.
See #WebKitWebsiteDataManager:is-ephemeral for more details.
%TRUE if @manager is ephemeral or %FALSE otherwise.
a #WebKitWebsiteDataManager
Asynchronously removes the website data in the given @website_data list.
Asynchronously removes the website data of the given @types for websites in the given @website_data list.
Use webkit_website_data_manager_clear() if you want to remove the website data for all sites.
When the operation is finished, @callback will be called. You can then call
webkit_website_data_manager_remove_finish() to get the result of the operation.
a #WebKitWebsiteDataManager
#WebKitWebsiteDataTypes
a #GList of #WebKitWebsiteData
a #GCancellable or %NULL to ignore
a #GAsyncReadyCallback to call when the request is satisfied
the data to pass to callback function
Finish an asynchronous operation started with webkit_website_data_manager_remove().
%TRUE if website data resources were successfully removed, or %FALSE otherwise.
a #WebKitWebsiteDataManager
a #GAsyncResult
Enable or disable Intelligent Tracking Prevention (ITP).
When ITP is enabled resource load statistics
are collected and used to decide whether to allow or block third-party cookies and prevent user tracking.
Note that while ITP is enabled the accept policy %WEBKIT_COOKIE_POLICY_ACCEPT_NO_THIRD_PARTY is ignored and
%WEBKIT_COOKIE_POLICY_ACCEPT_ALWAYS is used instead. See also webkit_cookie_manager_set_accept_policy().
a #WebKitWebsiteDataManager
value to set
Set the network proxy settings to be used by connections started in @manager session.
By default %WEBKIT_NETWORK_PROXY_MODE_DEFAULT is used, which means that the
system settings will be used (g_proxy_resolver_get_default()).
If you want to override the system default settings, you can either use
%WEBKIT_NETWORK_PROXY_MODE_NO_PROXY to make sure no proxies are used at all,
or %WEBKIT_NETWORK_PROXY_MODE_CUSTOM to provide your own proxy settings.
When @proxy_mode is %WEBKIT_NETWORK_PROXY_MODE_CUSTOM @proxy_settings must be
a valid #WebKitNetworkProxySettings; otherwise, @proxy_settings must be %NULL.
a #WebKitWebsiteDataManager
a #WebKitNetworkProxyMode
a #WebKitNetworkProxySettings, or %NULL
Enable or disable persistent credential storage.
When enabled, which is the default for
non-ephemeral sessions, the network process will try to read and write HTTP authentiacation
credentials from persistent storage.
a #WebKitWebsiteDataManager
value to set
Set the TLS errors policy of @manager as @policy.
a #WebKitWebsiteDataManager
a #WebKitTLSErrorsPolicy
The base directory for caches. If %NULL, a default location will be used.
The base directory for website data. If %NULL, a default location will be used.
The directory where HTTP disk cache will be stored.
Use WebKitWebsiteDataManager:base-cache-directory instead.
The directory where DOM cache will be stored.
Use WebKitWebsiteDataManager:base-cache-directory instead.
The directory where the HTTP Strict-Transport-Security (HSTS) cache will be stored.
Use WebKitWebsiteDataManager:base-cache-directory instead.
The directory where IndexedDB databases will be stored.
Use WebKitWebsiteDataManager:base-data-directory instead.
Whether the #WebKitWebsiteDataManager is ephemeral. An ephemeral #WebKitWebsiteDataManager
handles all websites data as non-persistent, and nothing will be written to the client
storage. Note that if you create an ephemeral #WebKitWebsiteDataManager all other construction
parameters to configure data directories will be ignored.
The directory where Intelligent Tracking Prevention (ITP) data will be stored.
Use WebKitWebsiteDataManager:base-data-directory instead.
The directory where local storage data will be stored.
Use WebKitWebsiteDataManager:base-data-directory instead.
The directory where offline web application cache will be stored.
Use WebKitWebsiteDataManager:base-cache-directory instead.
The percentage of volume space that can be used for data storage for every domain.
If the maximum storage is reached the storage request will fail with a QuotaExceededError exception.
A value of 0.0 means that data storage is not allowed. A value of -1.0, which is the default,
means WebKit will use the default quota (1 GiB).
The directory where service workers registrations will be stored.
Use WebKitWebsiteDataManager:base-data-directory instead.
The percentage of volume space that can be used for data storage for all domains.
If the maximum storage is reached the eviction will happen.
A value of 0.0 means that data storage is not allowed. A value of -1.0, which is the default,
means there's no limit for the total storage.
The directory where WebSQL databases will be stored.
WebSQL is no longer supported. Use IndexedDB instead.
Enum values with flags representing types of Website data.
Memory cache.
HTTP disk cache.
Offline web application cache.
Session storage data.
Local storage data.
WebSQL databases. Deprecated 2.24
IndexedDB databases.
Plugins data. Deprecated 2.32
Cookies.
Hash salt used to generate the device ids used by webpages. Since 2.24
HSTS cache. Since 2.26
Intelligent Tracking Prevention data. Since 2.30.
Service worker registrations. Since 2.30
DOM (CacheStorage) cache. Since 2.30
All types.
View specific website policies.
WebKitWebsitePolicies allows you to configure per-page policies,
currently only autoplay policies are supported.
Create a new #WebKitWebsitePolicies.
the newly created #WebKitWebsitePolicies
Create a new #WebKitWebsitePolicies with given policies.
Create a new #WebKitWebsitePolicies with policies given as variadic
arguments.
the newly created #WebKitWebsitePolicies
```c
WebKitWebsitePolicies *default_website_policies = webkit_website_policies_new_with_policies(
"autoplay", WEBKIT_AUTOPLAY_DENY,
NULL);
// ...
WebKitWebView *view = WEBKIT_WEB_VIEW(g_object_new(WEBKIT_TYPE_WEB_VIEW,
"web-context", ctx,
"settings", settings,
"user-content-manager", content_manager,
"website-policies", default_website_policies,
NULL));
// ...
```
name of the first policy to set
value of first policy, followed by more policies, %NULL-terminated
Get the #WebKitWebsitePolicies:autoplay property.
#WebKitAutoplayPolicy
a #WebKitWebsitePolicies
The #WebKitAutoplayPolicy of #WebKitWebsitePolicies.
Window properties of a #WebKitWebView.
The content of a #WebKitWebView can request to change certain
properties of the window containing the view. This can include the x, y position
of the window, the width and height but also if a toolbar,
scrollbar, statusbar, locationbar should be visible to the user,
and the request to show the #WebKitWebView fullscreen.
The #WebKitWebView::ready-to-show signal handler is the proper place
to apply the initial window properties. Then you can monitor the
#WebKitWindowProperties by connecting to ::notify signal.
```c
static void ready_to_show_cb (WebKitWebView *web_view, gpointer user_data)
{
GtkWidget *window;
WebKitWindowProperties *window_properties;
gboolean visible;
// Create the window to contain the WebKitWebView.
window = browser_window_new ();
gtk_container_add (GTK_CONTAINER (window), GTK_WIDGET (web_view));
gtk_widget_show (GTK_WIDGET (web_view));
// Get the WebKitWindowProperties of the web view and monitor it.
window_properties = webkit_web_view_get_window_properties (web_view);
g_signal_connect (window_properties, "notify::geometry",
G_CALLBACK (window_geometry_changed), window);
g_signal_connect (window_properties, "notify::toolbar-visible",
G_CALLBACK (window_toolbar_visibility_changed), window);
g_signal_connect (window_properties, "notify::menubar-visible",
G_CALLBACK (window_menubar_visibility_changed), window);
// Apply the window properties before showing the window.
visible = webkit_window_properties_get_toolbar_visible (window_properties);
browser_window_set_toolbar_visible (BROWSER_WINDOW (window), visible);
visible = webkit_window_properties_get_menubar_visible (window_properties);
browser_window_set_menubar_visible (BROWSER_WINDOW (window), visible);
if (webkit_window_properties_get_fullscreen (window_properties)) {
gtk_window_fullscreen (GTK_WINDOW (window));
} else {
GdkRectangle geometry;
gtk_window_set_resizable (GTK_WINDOW (window),
webkit_window_properties_get_resizable (window_properties));
webkit_window_properties_get_geometry (window_properties, &geometry);
gtk_window_move (GTK_WINDOW (window), geometry.x, geometry.y);
gtk_window_resize (GTK_WINDOW (window), geometry.width, geometry.height);
}
gtk_widget_show (window);
}
```
Get whether the window should be shown in fullscreen state or not.
%TRUE if the window should be fullscreen or %FALSE otherwise.
a #WebKitWindowProperties
Get the geometry the window should have on the screen when shown.
a #WebKitWindowProperties
return location for the window geometry
Get whether the window should have the locationbar visible or not.
%TRUE if locationbar should be visible or %FALSE otherwise.
a #WebKitWindowProperties
Get whether the window should have the menubar visible or not.
%TRUE if menubar should be visible or %FALSE otherwise.
a #WebKitWindowProperties
Get whether the window should be resizable by the user or not.
%TRUE if the window should be resizable or %FALSE otherwise.
a #WebKitWindowProperties
Get whether the window should have the scrollbars visible or not.
%TRUE if scrollbars should be visible or %FALSE otherwise.
a #WebKitWindowProperties
Get whether the window should have the statusbar visible or not.
%TRUE if statusbar should be visible or %FALSE otherwise.
a #WebKitWindowProperties
Get whether the window should have the toolbar visible or not.
%TRUE if toolbar should be visible or %FALSE otherwise.
a #WebKitWindowProperties
Whether window will be displayed fullscreen.
The size and position of the window on the screen.
Whether the locationbar should be visible for the window.
Whether the menubar should be visible for the window.
Whether the window can be resized.
Whether the scrollbars should be visible for the window.
Whether the statusbar should be visible for the window.
Whether the toolbar should be visible for the window.
Gets the quark for the domain of download errors.
download error domain.
Gets the quark for the domain of favicon database errors.
favicon database error domain.
Returns the major version number of the WebKit library.
(e.g. in WebKit version 1.8.3 this is 1.)
This function is in the library, so it represents the WebKit library
your code is running against. Contrast with the #WEBKIT_MAJOR_VERSION
macro, which represents the major version of the WebKit headers you
have included when compiling your code.
the major version number of the WebKit library
Returns the micro version number of the WebKit library.
(e.g. in WebKit version 1.8.3 this is 3.)
This function is in the library, so it represents the WebKit library
your code is running against. Contrast with the #WEBKIT_MICRO_VERSION
macro, which represents the micro version of the WebKit headers you
have included when compiling your code.
the micro version number of the WebKit library
Returns the minor version number of the WebKit library.
(e.g. in WebKit version 1.8.3 this is 8.)
This function is in the library, so it represents the WebKit library
your code is running against. Contrast with the #WEBKIT_MINOR_VERSION
macro, which represents the minor version of the WebKit headers you
have included when compiling your code.
the minor version number of the WebKit library
Gets the quark for the domain of JavaScript errors.
JavaScript error domain.
Get the key system for which access permission is being requested.
the key system name for @request
a #WebKitMediaKeySystemPermissionRequest
Gets the quark for the domain of networking errors.
network error domain.
Gets the quark for the domain of plug-in errors.
plug-in error domain.
Gets the quark for the domain of policy errors.
policy error domain.
Gets the quark for the domain of printing errors.
print error domain.
Gets the quark for the domain of page snapshot errors.
snapshot error domain.
Use this function to format a URI for display.
The URIs used internally by
WebKit may contain percent-encoded characters or Punycode, which are not
generally suitable to display to users. This function provides protection
against IDN homograph attacks, so in some cases the host part of the returned
URI may be in Punycode if the safety check fails.
@uri suitable for display, or %NULL in
case of error.
the URI to be converted
Gets the quark for the domain of user content filter errors.
user content filter error domain.
Check whether the permission request is for an audio device.
%TRUE if access to an audio device was requested.
a #WebKitUserMediaPermissionRequest
Check whether the permission request is for a display device.
%TRUE if access to a display device was requested.
a #WebKitUserMediaPermissionRequest
Check whether the permission request is for a video device.
%TRUE if access to a video device was requested.
a #WebKitUserMediaPermissionRequest
Gets the quark for the domain of user message errors.
user message error domain.