diff options
Diffstat (limited to 'src/webengine/api/qquickwebengineprofile.cpp')
-rw-r--r-- | src/webengine/api/qquickwebengineprofile.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/webengine/api/qquickwebengineprofile.cpp b/src/webengine/api/qquickwebengineprofile.cpp index c89e4d522..1dead56ac 100644 --- a/src/webengine/api/qquickwebengineprofile.cpp +++ b/src/webengine/api/qquickwebengineprofile.cpp @@ -44,6 +44,7 @@ #include "qquickwebengineprofile_p.h" #include "qquickwebenginescript_p.h" #include "qquickwebenginesettings_p.h" +#include "qquickwebengineview_p_p.h" #include "qwebenginecookiestore.h" #include <QQmlEngine> @@ -153,6 +154,10 @@ QQuickWebEngineProfilePrivate::QQuickWebEngineProfilePrivate(QSharedPointer<Brow QQuickWebEngineProfilePrivate::~QQuickWebEngineProfilePrivate() { + while (!m_webContentsAdapterClients.isEmpty()) { + m_webContentsAdapterClients.first()->destroy(); + } + Q_FOREACH (QQuickWebEngineDownloadItem *download, m_ongoingDownloads) { if (download) download->cancel(); @@ -164,6 +169,16 @@ QQuickWebEngineProfilePrivate::~QQuickWebEngineProfilePrivate() m_browserContext->shutdown(); } +void QQuickWebEngineProfilePrivate::addWebContentsAdapterClient(QQuickWebEngineViewPrivate *adapter) +{ + m_webContentsAdapterClients.append(adapter); +} + +void QQuickWebEngineProfilePrivate::removeWebContentsAdapterClient(QQuickWebEngineViewPrivate*adapter) +{ + m_webContentsAdapterClients.removeAll(adapter); +} + QSharedPointer<QtWebEngineCore::BrowserContextAdapter> QQuickWebEngineProfilePrivate::browserContext() const { return m_browserContext ? m_browserContext->browserContextRef : nullptr; |