From 8ddc67c49f33efdef6b1418aa9090a5d784e1ed4 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Mon, 24 Aug 2015 11:16:17 +0200 Subject: set Accept-Language in content::RendererPreferences This amends commit 2a56ec7ce4713711b55bb1dfc86a4320d943f606. Change-Id: I8103197f08c985557000de36c37ad80e1ceadf24 Reviewed-by: Kai Koehne --- src/core/browser_context_adapter.cpp | 12 ++++++++++++ src/core/browser_context_adapter.h | 1 + src/core/web_contents_adapter.cpp | 1 + 3 files changed, 14 insertions(+) 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 #include +#include + 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(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(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. -- cgit v1.2.3