diff options
Diffstat (limited to 'src/core/browser_context_adapter.cpp')
-rw-r--r-- | src/core/browser_context_adapter.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/core/browser_context_adapter.cpp b/src/core/browser_context_adapter.cpp index 24e2dc2c2..03150d322 100644 --- a/src/core/browser_context_adapter.cpp +++ b/src/core/browser_context_adapter.cpp @@ -45,6 +45,7 @@ #include "content_client_qt.h" #include "download_manager_delegate_qt.h" #include "permission_manager_qt.h" +#include "type_conversion.h" #include "web_engine_context.h" #include "web_engine_visited_links_manager.h" #include "url_request_context_getter_qt.h" @@ -52,6 +53,10 @@ #include "net/proxy/proxy_service.h" +#if defined(ENABLE_SPELLCHECK) +#include "components/keyed_service/content/browser_context_dependency_manager.h" +#endif + #include <QCoreApplication> #include <QDir> #include <QString> @@ -78,6 +83,8 @@ BrowserContextAdapter::BrowserContextAdapter(bool offTheRecord) , m_visitedLinksPolicy(TrackVisitedLinksOnDisk) , m_httpCacheMaxSize(0) { + WebEngineContext::current(); // Ensure the WebEngineContext has been initialized + content::BrowserContext::Initialize(m_browserContext.data(), toFilePath(dataPath())); } BrowserContextAdapter::BrowserContextAdapter(const QString &storageName) @@ -89,12 +96,20 @@ BrowserContextAdapter::BrowserContextAdapter(const QString &storageName) , m_visitedLinksPolicy(TrackVisitedLinksOnDisk) , m_httpCacheMaxSize(0) { + WebEngineContext::current(); // Ensure the WebEngineContext has been initialized + content::BrowserContext::Initialize(m_browserContext.data(), toFilePath(dataPath())); } BrowserContextAdapter::~BrowserContextAdapter() { if (m_downloadManagerDelegate) content::BrowserThread::DeleteSoon(content::BrowserThread::UI, FROM_HERE, m_downloadManagerDelegate.take()); +#if defined(ENABLE_SPELLCHECK) + // Please note spellchecker is the only keyed service we use so far, therefore + // remove this check if there are other serivces also used. + BrowserContextDependencyManager::GetInstance()->DestroyBrowserContextServices( + m_browserContext.data()); +#endif } void BrowserContextAdapter::setStorageName(const QString &storageName) |