diff --git a/brightray/browser/url_request_context_getter.cc b/brightray/browser/url_request_context_getter.cc index 12d13d71c4..feec4ce6f8 100644 --- a/brightray/browser/url_request_context_getter.cc +++ b/brightray/browser/url_request_context_getter.cc @@ -172,6 +172,9 @@ URLRequestContextGetter::URLRequestContextGetter( if (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 // must synchronously run on the glib message loop. This will be passed to // the URLRequestContextStorage on the IO thread in GetURLRequestContext(). @@ -230,7 +233,7 @@ net::URLRequestContext* URLRequestContextGetter::GetURLRequestContext() { storage_->set_http_user_agent_settings(base::WrapUnique( new net::StaticHttpUserAgentSettings( net::HttpUtil::GenerateAcceptLanguageHeader(accept_lang), - delegate_->GetUserAgent()))); + user_agent_))); std::unique_ptr host_resolver(net::HostResolver::CreateDefaultResolver(nullptr)); diff --git a/brightray/browser/url_request_context_getter.h b/brightray/browser/url_request_context_getter.h index 7dc5ccfff8..aef0e96fe6 100644 --- a/brightray/browser/url_request_context_getter.h +++ b/brightray/browser/url_request_context_getter.h @@ -78,6 +78,8 @@ class URLRequestContextGetter : public net::URLRequestContextGetter { base::MessageLoop* io_loop_; base::MessageLoop* file_loop_; + std::string user_agent_; + std::unique_ptr proxy_config_service_; std::unique_ptr network_delegate_; std::unique_ptr storage_;