diff options
author | Joerg Bornemann <joerg.bornemann@theqtcompany.com> | 2015-08-24 11:16:17 +0200 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@theqtcompany.com> | 2015-08-24 14:55:05 +0000 |
commit | 8ddc67c49f33efdef6b1418aa9090a5d784e1ed4 (patch) | |
tree | c20d83dd9f2f749e3402b77e91fa24884ff0aa50 | |
parent | 937ff1c56be6bb0a3ef296b92fd1f2326b99dca9 (diff) |
set Accept-Language in content::RendererPreferences
This amends commit 2a56ec7ce4713711b55bb1dfc86a4320d943f606.
Change-Id: I8103197f08c985557000de36c37ad80e1ceadf24
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
-rw-r--r-- | src/core/browser_context_adapter.cpp | 12 | ||||
-rw-r--r-- | src/core/browser_context_adapter.h | 1 | ||||
-rw-r--r-- | src/core/web_contents_adapter.cpp | 1 |
3 files changed, 14 insertions, 0 deletions
diff --git a/src/core/browser_context_adapter.cpp b/src/core/browser_context_adapter.cpp index 14f3b1c6c..75a906b35 100644 --- a/src/core/browser_context_adapter.cpp +++ b/src/core/browser_context_adapter.cpp @@ -54,6 +54,8 @@ #include <QStringBuilder> #include <QStandardPaths> +#include <numeric> + namespace { inline QString buildLocationFromStandardPath(const QString &standardPath, const QString &name) { QString location = standardPath; @@ -368,6 +370,16 @@ void BrowserContextAdapter::permissionRequestReply(const QUrl &origin, Permissio static_cast<PermissionManagerQt*>(browserContext()->GetPermissionManager())->permissionRequestReply(origin, type, reply); } +QString BrowserContextAdapter::httpAcceptLanguageWithoutQualities() const +{ + const QStringList list = m_httpAcceptLanguage.split(QLatin1Char(',')); + return std::accumulate(list.constBegin(), list.constEnd(), QString(), + [](const QString &r, const QString &e) { + return (r.isEmpty() ? r : r + QString(QLatin1Char(','))) + + e.split(QLatin1Char(';')).first(); + }); +} + QString BrowserContextAdapter::httpAcceptLanguage() const { return m_httpAcceptLanguage; diff --git a/src/core/browser_context_adapter.h b/src/core/browser_context_adapter.h index d58d8a4be..896743f4b 100644 --- a/src/core/browser_context_adapter.h +++ b/src/core/browser_context_adapter.h @@ -151,6 +151,7 @@ public: void permissionRequestReply(const QUrl &origin, PermissionType type, bool reply); + QString httpAcceptLanguageWithoutQualities() const; QString httpAcceptLanguage() const; void setHttpAcceptLanguage(const QString &httpAcceptLanguage); diff --git a/src/core/web_contents_adapter.cpp b/src/core/web_contents_adapter.cpp index 999fc881c..ae4eabe74 100644 --- a/src/core/web_contents_adapter.cpp +++ b/src/core/web_contents_adapter.cpp @@ -377,6 +377,7 @@ void WebContentsAdapter::initialize(WebContentsAdapterClient *adapterClient) const int qtCursorFlashTime = QGuiApplication::styleHints()->cursorFlashTime(); rendererPrefs->caret_blink_interval = 0.5 * static_cast<double>(qtCursorFlashTime) / 1000; rendererPrefs->user_agent_override = d->browserContextAdapter->httpUserAgent().toStdString(); + rendererPrefs->accept_languages = d->browserContextAdapter->httpAcceptLanguageWithoutQualities().toStdString(); d->webContents->GetRenderViewHost()->SyncRendererPrefs(); // Create and attach observers to the WebContents. |