- Qt 6.5
- Qt WebEngine
- QML Types
- WebEngineProfile
- Qt 6.5.1 Reference Documentation

# WebEngineProfile QML Type

Contains settings, scripts, and visited links common to multiple web engine views. More...

Import Statement: | import QtWebEngine
Since: | QtWebEngine 1.1
Instantiates: | QQuickWebEngineProfile

- List of all members, including inherited members

## Properties

- cachePath : string
- downloadPath : string
- httpAcceptLanguage : string
- httpCacheMaximumSize : int
- httpCacheType : enumeration
- httpUserAgent : string
- isPushServiceEnabled : bool
- offTheRecord : bool
- persistentCookiesPolicy : enumeration
- persistentStoragePath : string
- spellCheckEnabled : bool
- spellCheckLanguages : list<string>
- storageName : string
- userScripts : WebEngineScriptCollection

## Signals

- downloadFinished(WebEngineDownloadItem download)
- downloadRequested(WebEngineDownloadItem download)
- presentNotification(WebEngineNotification notification)

## Methods

- void clearHttpCache()

## Detailed Description

WebEngineProfile contains settings, scripts, and the list of visited links shared by all views that belong to the profile.

Information about visited links is stored together with persistent cookies and other persistent data in a storage determined by the storageName property. Persistent data is stored in a subdirectory determined by the persistentStoragePath property and the cache in a subdirectory determined by the cachePath property. The httpCacheType property describes the type of the cache: in-memory or on-disk. If only the storageName property is set, the other values are generated automatically based on it. If you specify any of the values manually, you should do it before creating any pages that belong to the profile.

Profiles can be used to isolate pages from each other. A typical use case is a dedicated off-the-record profile for a private browsing mode. An off-the-record profile forces cookies, the HTTP cache, and other normally persistent data to be stored only in memory. The offTheRecord property holds whether a profile is off-the-record.

Each web engine view has an associated profile. Views that do not have a specific profile set share a common default one.

## Property Documentation

cachePath : string

The path to the location where the profile's caches are stored, in particular the HTTP cache.

By default, the caches are stored below QStandardPaths::writableLocation(QStandardPaths::CacheLocation) in a directory named using storageName.

[since QtWebEngine 1.9] downloadPath : string

The path to the location where the downloaded files are stored.

Overrides the default path used for download location.

If set to an empty string, the default path is restored.

Note: By default, the download path is QStandardPaths::DownloadLocation.

This property was introduced in QtWebEngine 1.9.

[since QtWebEngine 1.2] httpAcceptLanguage : string

The value of the Accept-Language HTTP request-header field.

This property was introduced in QtWebEngine 1.2.

httpCacheMaximumSize : int

The maximum size of the HTTP cache. If `0`, the size will be controlled automatically by QtWebEngine. The default value is `0`.

See also httpCacheType.

httpCacheType : enumeration

This enumeration describes the type of the HTTP cache:

Constant | Description
--- | ---
`WebEngineProfile.MemoryHttpCache` | Uses an in-memory cache. This is the only setting possible if offTheRecord is set or no storageName is available, which is the default.
`WebEngineProfile.DiskHttpCache` | Uses a disk cache. This is the default value for non off-the-record profile with storageName.
`WebEngineProfile.NoCache` | Disables caching. (Added in 5.7)

httpUserAgent : string

The user-agent string sent with HTTP to identify the browser.

Note: On Windows 8.1 and newer, the default user agent will always report "Windows NT 6.2" (Windows 8), unless the application does contain a manifest that declares newer Windows versions as supported.

[since QtWebEngine 6.5] isPushServiceEnabled : bool

Whether the push messaging service is enabled.

Note: By default the push messaging service is disabled.

Note: Qt WebEngine uses the Firebase Cloud Messaging (FCM) as a browser push service. Therefore, all push messages will go through the Google push service and its respective servers.

This property was introduced in QtWebEngine 6.5.

offTheRecord : bool

Whether the web engine profile is off-the-record. An off-the-record profile forces cookies, the HTTP cache, and other normally persistent data to be stored only in memory. Profile is off-the-record by default.

persistentCookiesPolicy : enumeration

This enumeration describes the policy of cookie persistency:

Constant | Description
--- | ---
`WebEngineProfile.NoPersistentCookies` | Both session and persistent cookies are stored in memory. This is the only setting possible if offTheRecord is set or no storageName is available, which is the default.
`WebEngineProfile.AllowPersistentCookies` | Cookies marked persistent are saved to and restored from disk, whereas session cookies are only stored to disk for crash recovery. This is the default value for non off-the-record profile with storageName.
`WebEngineProfile.ForcePersistentCookies` | Both session and persistent cookies are saved to and restored from disk.

persistentStoragePath : string

The path to the location where the persistent data for the browser and web content are stored. Persistent data includes persistent cookies, HTML5 local storage, and visited links.

By default, the storage is located below QStandardPaths::writableLocation(QStandardPaths::AppDataLocation) in a directory named using storageName.

[since QtWebEngine 1.4] spellCheckEnabled : bool

This property holds whether the web engine spell checker is enabled.

This property was introduced in QtWebEngine 1.4.

[since QtWebEngine 1.4] spellCheckLanguages : list<string>

This property holds the list of languages used by the spell checker. Each language should match the name of the `.bdic` dictionary. For example, the language `en-US` will load the `en-US.bdic` dictionary file.

See the Spellchecker feature documentation for how dictionary files are searched.

For more information about how to compile `.bdic` dictionaries, see the Spellchecker Example.

This property was introduced in QtWebEngine 1.4.

storageName : string

The storage name that is used to create separate subdirectories for each profile that uses the disk for storing persistent data and cache.

See also WebEngineProfile::persistentStoragePath and WebEngineProfile::cachePath.

[read-only] userScripts : WebEngineScriptCollection

Returns the collection of WebEngineScript objects that are injected into all pages that share this profile.

## Signal Documentation

downloadFinished(WebEngineDownloadItem download)

This signal is emitted whenever downloading stops, because it finished successfully, was cancelled, or was interrupted (for example, because connectivity was lost). The download argument holds the state of the finished download instance.

Note: The corresponding handler is `onDownloadFinished`.

downloadRequested(WebEngineDownloadItem download)

This signal is emitted whenever a download has been triggered. The download argument holds the state of the download. The download has to be explicitly accepted with WebEngineDownloadItem::accept() or the download will be cancelled by default.

Note: The corresponding handler is `onDownloadRequested`.

`[since QtWebEngine 1.9]` presentNotification(WebEngineNotification notification)

This signal is emitted whenever there is a newly created user notification. The notification argument holds the WebEngineNotification instance to query data and interact with.

Note: The corresponding handler is `onPresentNotification`.

This signal was introduced in QtWebEngine 1.9.

## Method Documentation

`[since QtWebEngine 1.3]` void clearHttpCache()

Removes the profile's cache entries.

This method was introduced in QtWebEngine 1.3.

See also WebEngineProfile::cachePath.