summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2020-02-12 11:40:24 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2020-03-02 10:50:00 +0000
commit07787da493d9a71b994582904a188a53aae9e473 (patch)
tree567ecf9b7a932faadb7c76d573a71fd96f4366d8
parent945bf7974a7531685f357efd9574a5de6f14a5d0 (diff)
downloadqtwebengine-chromium-07787da493d9a71b994582904a188a53aae9e473.tar.gz
Allow changing user-agent without replace the entire network context
This follows what is already possible with accept-language. Change-Id: I7edc1f27ddcf080df60af73652f455e889b5e4e8 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
-rw-r--r--chromium/net/url_request/static_http_user_agent_settings.h6
-rw-r--r--chromium/services/network/network_context.cc5
-rw-r--r--chromium/services/network/network_context.h1
-rw-r--r--chromium/services/network/public/mojom/network_context.mojom2
4 files changed, 13 insertions, 1 deletions
diff --git a/chromium/net/url_request/static_http_user_agent_settings.h b/chromium/net/url_request/static_http_user_agent_settings.h
index 0ccfe130f00..653829457d5 100644
--- a/chromium/net/url_request/static_http_user_agent_settings.h
+++ b/chromium/net/url_request/static_http_user_agent_settings.h
@@ -26,13 +26,17 @@ class NET_EXPORT StaticHttpUserAgentSettings : public HttpUserAgentSettings {
accept_language_ = new_accept_language;
}
+ void set_user_agent(const std::string& new_user_agent) {
+ user_agent_ = new_user_agent;
+ }
+
// HttpUserAgentSettings implementation
std::string GetAcceptLanguage() const override;
std::string GetUserAgent() const override;
private:
std::string accept_language_;
- const std::string user_agent_;
+ std::string user_agent_;
DISALLOW_COPY_AND_ASSIGN(StaticHttpUserAgentSettings);
};
diff --git a/chromium/services/network/network_context.cc b/chromium/services/network/network_context.cc
index 6747b2f4efe..7a8e1e35147 100644
--- a/chromium/services/network/network_context.cc
+++ b/chromium/services/network/network_context.cc
@@ -859,6 +859,11 @@ void NetworkContext::SetAcceptLanguage(const std::string& new_accept_language) {
user_agent_settings_->set_accept_language(new_accept_language);
}
+void NetworkContext::SetUserAgent(const std::string& new_user_agent) {
+ DCHECK(user_agent_settings_);
+ user_agent_settings_->set_user_agent(new_user_agent);
+}
+
void NetworkContext::SetEnableReferrers(bool enable_referrers) {
// This may only be called on NetworkContexts created with the constructor
// that calls MakeURLRequestContext().
diff --git a/chromium/services/network/network_context.h b/chromium/services/network/network_context.h
index 0a45894eb50..0ce53ee5e09 100644
--- a/chromium/services/network/network_context.h
+++ b/chromium/services/network/network_context.h
@@ -223,6 +223,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
void SetNetworkConditions(const base::UnguessableToken& throttling_profile_id,
mojom::NetworkConditionsPtr conditions) override;
void SetAcceptLanguage(const std::string& new_accept_language) override;
+ void SetUserAgent(const std::string& new_user_agent) override;
void SetEnableReferrers(bool enable_referrers) override;
#if defined(OS_CHROMEOS)
void UpdateAdditionalCertificates(
diff --git a/chromium/services/network/public/mojom/network_context.mojom b/chromium/services/network/public/mojom/network_context.mojom
index b60048c26c3..a83bd35e37c 100644
--- a/chromium/services/network/public/mojom/network_context.mojom
+++ b/chromium/services/network/public/mojom/network_context.mojom
@@ -914,6 +914,8 @@ interface NetworkContext {
// Updates the Accept-Language header to be used for requests.
SetAcceptLanguage(string new_accept_language);
+ SetUserAgent(string new_user_agent);
+
// If false, the referrer of requests is never populated.
SetEnableReferrers(bool enable_referrers);