diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-02-12 11:40:24 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-03-02 10:50:00 +0000 |
commit | 07787da493d9a71b994582904a188a53aae9e473 (patch) | |
tree | 567ecf9b7a932faadb7c76d573a71fd96f4366d8 | |
parent | 945bf7974a7531685f357efd9574a5de6f14a5d0 (diff) | |
download | qtwebengine-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>
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); |