summaryrefslogtreecommitdiffstats
path: root/src/core/browser_context_adapter.cpp
diff options
context:
space:
mode:
authorSzabolcs David <davidsz@inf.u-szeged.hu>2015-09-23 06:32:39 -0700
committerSzabolcs David <davidsz@inf.u-szeged.hu>2015-09-24 08:19:01 +0000
commitaa88ad113669d8daf9c1486487b7c48b39279be5 (patch)
tree79974f3e6bfe093fe699af16e8f7593bb95b0abb /src/core/browser_context_adapter.cpp
parentf91362e0f004fec118aa38220f07580f0a0d8bb3 (diff)
Fix httpUserAgent setting after the view's initialization
Set user agent override on all WebContents of the specific BrowserContext. Task-number: QTBUG-47976 Change-Id: I4fc6f8d79aff6f372ca48d82642b3eab60f933d1 Reviewed-by: Jocelyn Turcotte (Woboq GmbH) <jturcotte@woboq.com> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
Diffstat (limited to 'src/core/browser_context_adapter.cpp')
-rw-r--r--src/core/browser_context_adapter.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/core/browser_context_adapter.cpp b/src/core/browser_context_adapter.cpp
index fa51575e3..a35f313f0 100644
--- a/src/core/browser_context_adapter.cpp
+++ b/src/core/browser_context_adapter.cpp
@@ -36,6 +36,7 @@
#include "browser_context_adapter.h"
+#include "content/browser/web_contents/web_contents_impl.h"
#include "content/public/browser/browser_thread.h"
#include "browser_context_qt.h"
#include "content_client_qt.h"
@@ -230,6 +231,12 @@ void BrowserContextAdapter::setHttpUserAgent(const QString &userAgent)
if (m_httpUserAgent == userAgent)
return;
m_httpUserAgent = userAgent;
+
+ std::vector<content::WebContentsImpl *> list = content::WebContentsImpl::GetAllWebContents();
+ Q_FOREACH (content::WebContentsImpl *web_contents, list)
+ if (web_contents->GetBrowserContext() == m_browserContext.data())
+ web_contents->SetUserAgentOverride(userAgent.toStdString());
+
if (m_browserContext->url_request_getter_.get())
m_browserContext->url_request_getter_->updateUserAgent();
}