### Class

# WebKit2 WebContext

#### Description [src]

    class WebKit2.WebContext : GObject.Object {
      parent: GObject,
      priv: WebKitWebContextPrivate*
    }

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.

#### Ancestors

- GObject

#### Constructors

###### webkit_web_context_new

Create a new `WebKitWebContext`.

since: 2.8

###### webkit_web_context_new_ephemeral

Create a new ephemeral `WebKitWebContext`.

since: 2.16

###### webkit_web_context_new_with_website_data_manager

Create a new `WebKitWebContext` with a `WebKitWebsiteDataManager`.

since: 2.10

#### Functions

###### webkit_web_context_get_default

Gets the default web context.

#### Instance methods

###### webkit_web_context_add_path_to_sandbox

Adds a path to be mounted in the sandbox.

since: 2.26

###### webkit_web_context_allow_tls_certificate_for_host

Ignore further TLS errors on the `host` for the certificate present in `info`.

since: 2.6

###### webkit_web_context_clear_cache

Clears all resources currently cached.

###### webkit_web_context_download_uri

Requests downloading of the specified URI string.

###### webkit_web_context_get_cache_model

Returns the current cache model.

###### webkit_web_context_get_cookie_manager

Get the `WebKitCookieManager` of the `context`‘s `WebKitWebsiteDataManager`.

###### webkit_web_context_get_favicon_database

Get the `WebKitFaviconDatabase` associated with `context`.

###### webkit_web_context_get_favicon_database_directory

Get the directory path to store the favicons database.

###### webkit_web_context_get_geolocation_manager

Get the `WebKitGeolocationManager` of `context`.

since: 2.26

###### webkit_web_context_get_plugins

Asynchronously get the list of installed plugins.

deprecated: 2.32

###### webkit_web_context_get_plugins_finish

Finish an asynchronous operation started with webkit_web_context_get_plugins.

deprecated: 2.32

###### webkit_web_context_get_process_model

Returns `WEBKIT_PROCESS_MODEL_MULTIPLE_SECONDARY_PROCESSES`.

deprecated: 2.40 since: 2.4

###### webkit_web_context_get_sandbox_enabled

Get whether sandboxing is currently enabled.

since: 2.26

###### webkit_web_context_get_security_manager

Get the `WebKitSecurityManager` of `context`.

###### webkit_web_context_get_spell_checking_enabled

Get whether spell checking feature is currently enabled.

###### webkit_web_context_get_spell_checking_languages

Get the the list of spell checking languages.

###### webkit_web_context_get_time_zone_override

Get the `WebKitWebContext:time-zone-override` property.

since: 2.38

###### webkit_web_context_get_tls_errors_policy

Get the TLS errors policy of `context`.

deprecated: 2.32.

###### webkit_web_context_get_use_system_appearance_for_scrollbars

Get the `WebKitWebContext:use-system-appearance-for-scrollbars` property.

since: 2.30

###### webkit_web_context_get_web_process_count_limit

Gets the maximum number of web processes that can be created at the same time for the `context`.

deprecated: 2.26 since: 2.10

###### webkit_web_context_get_website_data_manager

Get the `WebKitWebsiteDataManager` of `context`.

since: 2.10

###### webkit_web_context_initialize_notification_permissions

Sets initial desktop notification permissions for the `context`.

since: 2.16

###### webkit_web_context_is_automation_allowed

Get whether automation is allowed in `context`.

since: 2.18

###### webkit_web_context_is_ephemeral

Get whether a `WebKitWebContext` is ephemeral.

since: 2.16

###### webkit_web_context_prefetch_dns

Resolve the domain name of the given `hostname` in advance.

###### webkit_web_context_register_uri_scheme

Register `scheme` in `context`.

###### webkit_web_context_send_message_to_all_extensions

Send `message` to all web process extensions associated to `context`.

since: 2.28

###### webkit_web_context_set_additional_plugins_directory

Set an additional directory where WebKit will look for plugins.

deprecated: 2.32

###### webkit_web_context_set_automation_allowed

Set whether automation is allowed in `context`.

since: 2.18

###### webkit_web_context_set_cache_model

Specifies a usage model for WebViews.

###### webkit_web_context_set_disk_cache_directory

Set the directory where disk cache files will be stored.

deprecated: 2.10.

###### webkit_web_context_set_favicon_database_directory

Set the directory path to store the favicons database.

###### webkit_web_context_set_network_proxy_settings

Set the network proxy settings to be used by connections started in `context`.

deprecated: 2.32. since: 2.16

###### webkit_web_context_set_preferred_languages

Set the list of preferred languages.

###### webkit_web_context_set_process_model

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.

deprecated: 2.40 since: 2.4

###### webkit_web_context_set_sandbox_enabled

Set whether WebKit subprocesses will be sandboxed.

since: 2.26

###### webkit_web_context_set_spell_checking_enabled

Enable or disable the spell checking feature.

###### webkit_web_context_set_spell_checking_languages

Set the list of spell checking languages to be used for spell checking.

###### webkit_web_context_set_tls_errors_policy

Set the TLS errors policy of `context` as `policy`.

deprecated: 2.32.

###### webkit_web_context_set_use_system_appearance_for_scrollbars

Set the `WebKitWebContext:use-system-appearance-for-scrollbars` property.

since: 2.30

###### webkit_web_context_set_web_extensions_directory

Set the directory where WebKit will look for web process extensions.

###### webkit_web_context_set_web_extensions_initialization_user_data

Set user data to be passed to web process extensions on initialization.

since: 2.4

###### webkit_web_context_set_web_process_count_limit

Sets the maximum number of web processes.

deprecated: 2.26 since: 2.10

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

Please see GObject for a full list of methods.

#### Properties

###### WebKit2.WebContext:local-storage-directory

The directory where local storage data will be saved.

deprecated: 2.10. since: 2.8

###### WebKit2.WebContext:memory-pressure-settings

The `WebKitMemoryPressureSettings` applied to the web processes created by this context.

since: 2.34

###### WebKit2.WebContext:process-swap-on-cross-site-navigation-enabled

Whether swap Web processes on cross-site navigations is enabled.

since: 2.28

###### WebKit2.WebContext:time-zone-override

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.

since: 2.38

###### WebKit2.WebContext:use-system-appearance-for-scrollbars

Whether to use system appearance for rendering scrollbars.

since: 2.30

###### WebKit2.WebContext:website-data-manager

The `WebKitWebsiteDataManager` associated with this context.

since: 2.10

#### Signals

###### WebKit2.WebContext::automation-started

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.

since: 2.18

###### WebKit2.WebContext::download-started

This signal is emitted when a new download request is made.

###### WebKit2.WebContext::initialize-notification-permissions

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.

since: 2.16

###### WebKit2.WebContext::initialize-web-extensions

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

since: 2.4

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

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

since: 2.28

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

###### GObject::notify

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

#### Class structure

    struct WebKit2WebContextClass {
      GObjectClass parent;
      void (* download_started) (
        WebKitWebContext* context,
        WebKitDownload* download
      );
      void (* initialize_web_extensions) (
        WebKitWebContext* context
      );
      void (* initialize_notification_permissions) (
        WebKitWebContext* context
      );
      void (* automation_started) (
        WebKitWebContext* context,
        WebKitAutomationSession* session
      );
      gboolean (* user_message_received) (
        WebKitWebContext* context,
        WebKitUserMessage* message
      );
      void (* _webkit_reserved0) (
    void
      );
      void (* _webkit_reserved1) (
    void
      );
      void (* _webkit_reserved2) (
    void
      );

    }

No description available.

###### Class members

`parent: GObjectClass`
  No description available.
`download_started: void (* download_started) ( WebKitWebContext* context, WebKitDownload* download )`
  No description available.
`initialize_web_extensions: void (* initialize_web_extensions) ( WebKitWebContext* context )`
  No description available.
`initialize_notification_permissions: void (* initialize_notification_permissions) ( WebKitWebContext* context )`
  No description available.
`automation_started: void (* automation_started) ( WebKitWebContext* context, WebKitAutomationSession* session )`
  No description available.
`user_message_received: gboolean (* user_message_received) ( WebKitWebContext* context, WebKitUserMessage* message )`
  No description available.
`_webkit_reserved0: void (* _webkit_reserved0) ( void )`
  No description available.
`_webkit_reserved1: void (* _webkit_reserved1) ( void )`
  No description available.
`_webkit_reserved2: void (* _webkit_reserved2) ( void )`
  No description available.

#### Virtual methods

###### WebKit2.WebContextClass.automation_started

No description available.

###### WebKit2.WebContextClass.download_started

No description available.

###### WebKit2.WebContextClass.initialize_notification_permissions

No description available.

###### WebKit2.WebContextClass.initialize_web_extensions

No description available.

###### WebKit2.WebContextClass.user_message_received

No description available.