Call on GetUserAgent on UI thread

This commit is contained in:
Cheng Zhao 2016-06-22 15:52:04 +09:00
parent babd741786
commit 8eca432b6d
2 changed files with 6 additions and 1 deletions

View file

@ -172,6 +172,9 @@ URLRequestContextGetter::URLRequestContextGetter(
if (protocol_handlers) if (protocol_handlers)
std::swap(protocol_handlers_, *protocol_handlers); std::swap(protocol_handlers_, *protocol_handlers);
if (delegate_)
user_agent_ = delegate_->GetUserAgent();
// We must create the proxy config service on the UI loop on Linux because it // We must create the proxy config service on the UI loop on Linux because it
// must synchronously run on the glib message loop. This will be passed to // must synchronously run on the glib message loop. This will be passed to
// the URLRequestContextStorage on the IO thread in GetURLRequestContext(). // the URLRequestContextStorage on the IO thread in GetURLRequestContext().
@ -230,7 +233,7 @@ net::URLRequestContext* URLRequestContextGetter::GetURLRequestContext() {
storage_->set_http_user_agent_settings(base::WrapUnique( storage_->set_http_user_agent_settings(base::WrapUnique(
new net::StaticHttpUserAgentSettings( new net::StaticHttpUserAgentSettings(
net::HttpUtil::GenerateAcceptLanguageHeader(accept_lang), net::HttpUtil::GenerateAcceptLanguageHeader(accept_lang),
delegate_->GetUserAgent()))); user_agent_)));
std::unique_ptr<net::HostResolver> host_resolver(net::HostResolver::CreateDefaultResolver(nullptr)); std::unique_ptr<net::HostResolver> host_resolver(net::HostResolver::CreateDefaultResolver(nullptr));

View file

@ -78,6 +78,8 @@ class URLRequestContextGetter : public net::URLRequestContextGetter {
base::MessageLoop* io_loop_; base::MessageLoop* io_loop_;
base::MessageLoop* file_loop_; base::MessageLoop* file_loop_;
std::string user_agent_;
std::unique_ptr<net::ProxyConfigService> proxy_config_service_; std::unique_ptr<net::ProxyConfigService> proxy_config_service_;
std::unique_ptr<net::NetworkDelegate> network_delegate_; std::unique_ptr<net::NetworkDelegate> network_delegate_;
std::unique_ptr<net::URLRequestContextStorage> storage_; std::unique_ptr<net::URLRequestContextStorage> storage_;