QWebEngineExtensionManager Class
The QWebEngineExtensionManager class allows applications to access Chrome/Firefox extension-compatible interfaces through managed packages. More...
| Header: | #include <QWebEngineExtensionManager> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS WebEngineCore)target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore) |
| qmake: | QT += webenginecore |
| Since: | Qt WebEngine 6.10 |
| Inherits: | QObject |
Properties
- extensions : QList<QWebEngineExtensionInfo>
- installPath : QString
Public Functions
| QList<QWebEngineExtensionInfo> | extensions() const |
| void | installExtension(const QString &path) |
| QString | installPath() const |
| void | loadExtension(const QString &path) |
| void | setExtensionEnabled(const QWebEngineExtensionInfo &extension, bool enabled) |
| void | uninstallExtension(const QWebEngineExtensionInfo &extension) |
| void | unloadExtension(const QWebEngineExtensionInfo &extension) |
Signals
| void | installFinished(const QWebEngineExtensionInfo &extension) |
| void | loadFinished(const QWebEngineExtensionInfo &extension) |
| void | uninstallFinished(const QWebEngineExtensionInfo &extension) |
| void | unloadFinished(const QWebEngineExtensionInfo &extension) |
Reimplemented Protected Functions
| virtual bool | event(QEvent *e) override |
Detailed Description
QWebEngineExtensionManager exposes interfaces compatible with the Chrome/Firefox extension platform, letting applications load or install packages built against that format at runtime.
Loading via loadExtension() is temporary and doesn't persist across sessions, while installExtension() stores the package in the profile directory so it loads automatically at startup.
Loaded packages can be inspected through extensions() property, which returns a list of QWebEngineExtensionInfo objects, and the manager emits signals when packages are loaded, installed, unloaded, or uninstalled. The installPath property indicates where installed packages are persisted.
Only the ManifestV3 specification is supported — packages using other manifest versions are rejected outright. This capability is not available for off-the-record profiles. Every profile ships with two built-in components, Google Hangouts and the Chromium PDF Viewer, which can be disabled if not needed.
See also QWebEngineProfile::extensionManager and QWebEngineExtensionInfo.
Property Documentation
[read-only] extensions : QList<QWebEngineExtensionInfo>
Returns a list of the loaded extensions.
Access functions:
| QList<QWebEngineExtensionInfo> | extensions() const |
See also QWebEngineExtensionInfo.
[read-only] installPath : QString
Returns the directory's path where the extensions are installed.
Access functions:
| QString | installPath() const |
See also installExtension() and QWebEngineExtensionInfo::isInstalled().
Member Function Documentation
[override virtual protected] bool QWebEngineExtensionManager::event(QEvent *e)
Reimplements: QObject::event(QEvent *e).
[invokable] void QWebEngineExtensionManager::installExtension(const QString &path)
Installs an extension from path to the profile's directory and loads it.
The installFinished() signal is emitted after an extension is installed or the install failed. If the install succeeded QWebEngineExtensionInfo::isInstalled() will return true, otherwise QWebEngineExtensionInfo::error() will contain information how the install process failed.
Extensions are loaded in disabled state after the install succeeded. Installed extensions are automatically loaded at every startup in disabled state. The install path can be queried with installPath().
The installer is capable of installing zipped or unpacked extensions. The path parameter should point to a directory or a zip file containing the extension's manifest file. If the manifest is missing from the top level directory, the install process will abort.
Installing an already loaded or installed extension from the same path will install a new extension.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
See also QWebEngineExtensionInfo::isInstalled(), QWebEngineExtensionInfo::error(), and installPath().
[signal] void QWebEngineExtensionManager::installFinished(const QWebEngineExtensionInfo &extension)
[signal] void QWebEngineExtensionManager::loadFinished(const QWebEngineExtensionInfo &extension)
[signal] void QWebEngineExtensionManager::uninstallFinished(const QWebEngineExtensionInfo &extension)
[signal] void QWebEngineExtensionManager::unloadFinished(const QWebEngineExtensionInfo &extension)
Signals that are emitted when extension is loaded, unloaded, installed, or uninstalled.
[invokable] void QWebEngineExtensionManager::loadExtension(const QString &path)
Loads an unpacked extension from path.
The loadFinished() signal is emitted when an extension is loaded or the load failed. If the load succeeded QWebEngineExtensionInfo::isLoaded() will return true, otherwise QWebEngineExtensionInfo::error() will contain information where the loading process failed.
Extensions are always loaded in disabled state, users have to enable them manually. Loading an already loaded extension from the same path will reload the extension.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
See also QWebEngineExtensionInfo::isLoaded() and QWebEngineExtensionInfo::error().
[invokable] void QWebEngineExtensionManager::setExtensionEnabled(const QWebEngineExtensionInfo &extension, bool enabled)
Allows to turn on/off the extension at runtime.
The enabled argument determines whether the extension should be enabled or disabled.
Note: It is also possible to disable internal extensions like Hangouts and PDF.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
See also QWebEngineExtensionInfo::isEnabled().
[invokable] void QWebEngineExtensionManager::uninstallExtension(const QWebEngineExtensionInfo &extension)
Uninstalls the extension.
Removes the extension's files from the install path and unloads the extension. The uninstallFinished() signal is emitted after the process finished.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
See also QWebEngineExtensionManager::installPath(), QWebEngineExtensionInfo::isInstalled(), and QWebEngineExtensionInfo::error().
[invokable] void QWebEngineExtensionManager::unloadExtension(const QWebEngineExtensionInfo &extension)
Unloads the extension
Removes all the extension's data from memory.
The unloadFinished() signal is emitted after the unload process finished.
Note: It is also possible to unload internal extensions like Hangouts and PDF, but they will be loaded at next startup like other installed extensions.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
See also QWebEngineExtensionInfo::isLoaded().
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.