diff options
author | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2016-04-25 11:47:47 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2016-04-25 12:40:00 +0200 |
commit | 658a964cf2593e6da3b1a822124e796bbe354d36 (patch) | |
tree | 8c35a964023069a974f1c54cd679490593e485f2 /src/core/browser_context_adapter.cpp | |
parent | 63cf26268996ae5580c77095a252696fa549b593 (diff) | |
parent | a3318c84b022282a5a4a2babc51d1e3ca634e25b (diff) |
Merge remote-tracking branch 'origin/5.6' into 5.7
Change-Id: I329397621f19ba3890be5daf44a6bb2d668ad2d8
Diffstat (limited to 'src/core/browser_context_adapter.cpp')
-rw-r--r-- | src/core/browser_context_adapter.cpp | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/src/core/browser_context_adapter.cpp b/src/core/browser_context_adapter.cpp index 193c49e34..e0f933562 100644 --- a/src/core/browser_context_adapter.cpp +++ b/src/core/browser_context_adapter.cpp @@ -168,7 +168,7 @@ void BrowserContextAdapter::cancelDownload(quint32 downloadId) downloadManagerDelegate()->cancelDownload(downloadId); } -BrowserContextAdapter* BrowserContextAdapter::defaultContext() +QSharedPointer<BrowserContextAdapter> BrowserContextAdapter::defaultContext() { return WebEngineContext::current()->defaultBrowserContext(); } @@ -354,11 +354,16 @@ void BrowserContextAdapter::setHttpCacheMaxSize(int maxSize) m_browserContext->url_request_getter_->updateHttpCache(); } -QHash<QByteArray, QWebEngineUrlSchemeHandler *> &BrowserContextAdapter::customUrlSchemeHandlers() +const QHash<QByteArray, QWebEngineUrlSchemeHandler *> &BrowserContextAdapter::customUrlSchemeHandlers() const { return m_customUrlSchemeHandlers; } +const QList<QByteArray> BrowserContextAdapter::customUrlSchemes() const +{ + return m_customUrlSchemeHandlers.keys(); +} + void BrowserContextAdapter::updateCustomUrlSchemeHandlers() { if (m_browserContext->url_request_getter_.get()) @@ -396,6 +401,12 @@ void BrowserContextAdapter::addCustomUrlSchemeHandler(const QByteArray &scheme, updateCustomUrlSchemeHandlers(); } +void BrowserContextAdapter::clearCustomUrlSchemeHandlers() +{ + m_customUrlSchemeHandlers.clear(); + updateCustomUrlSchemeHandlers(); +} + UserResourceControllerHost *BrowserContextAdapter::userResourceController() { if (!m_userResourceController) @@ -432,7 +443,21 @@ QString BrowserContextAdapter::httpAcceptLanguage() const void BrowserContextAdapter::setHttpAcceptLanguage(const QString &httpAcceptLanguage) { + if (m_httpAcceptLanguage == httpAcceptLanguage) + return; m_httpAcceptLanguage = httpAcceptLanguage; + + std::vector<content::WebContentsImpl *> list = content::WebContentsImpl::GetAllWebContents(); + Q_FOREACH (content::WebContentsImpl *web_contents, list) { + if (web_contents->GetBrowserContext() == m_browserContext.data()) { + content::RendererPreferences* rendererPrefs = web_contents->GetMutableRendererPrefs(); + rendererPrefs->accept_languages = httpAcceptLanguageWithoutQualities().toStdString(); + web_contents->GetRenderViewHost()->SyncRendererPrefs(); + } + } + + if (m_browserContext->url_request_getter_.get()) + m_browserContext->url_request_getter_->updateUserAgent(); } void BrowserContextAdapter::clearHttpCache() |