diff options
author | willchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-14 20:35:15 +0000 |
---|---|---|
committer | willchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-14 20:35:15 +0000 |
commit | 182fe2f459b174b9c1de6520776ceb23f7d0f0de (patch) | |
tree | 8d8592387f02940866515447134ed83674b7834e /chrome/service | |
parent | 6c2f7320e7767f71385134b184c2e0652600b5c0 (diff) | |
download | chromium_src-182fe2f459b174b9c1de6520776ceb23f7d0f0de.zip chromium_src-182fe2f459b174b9c1de6520776ceb23f7d0f0de.tar.gz chromium_src-182fe2f459b174b9c1de6520776ceb23f7d0f0de.tar.bz2 |
Revert 74842 - It seems to have broken the ChromeOS "PFQ bot"?
r74561 added a DCHECK to make sure users didn't try to access the ChromeURLRequestContextGetter from the Profile, since the Profile should only be read on the UI thread. ChromeOS apparently tried to access it from another thread, and therefore hit the new DCHECK.
I'm relanding without the DCHECK. I'm also eagerly initializing the off the record context getter to prevent the ChromeOS race. ChromeOS should fix that code so the eager initialization isn't necessary.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6484041
TBR=willchan@chromium.org
Review URL: http://codereview.chromium.org/6517021
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74848 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/service')
-rw-r--r-- | chrome/service/net/service_url_request_context.cc | 54 | ||||
-rw-r--r-- | chrome/service/net/service_url_request_context.h | 4 |
2 files changed, 30 insertions, 28 deletions
diff --git a/chrome/service/net/service_url_request_context.cc b/chrome/service/net/service_url_request_context.cc index b09794e..e5d75cc 100644 --- a/chrome/service/net/service_url_request_context.cc +++ b/chrome/service/net/service_url_request_context.cc @@ -105,9 +105,9 @@ std::string MakeUserAgentForServiceProcess() { ServiceURLRequestContext::ServiceURLRequestContext( const std::string& user_agent) : user_agent_(user_agent) { - set_host_resolver( + host_resolver_ = net::CreateSystemHostResolver(net::HostResolver::kDefaultParallelism, - NULL, NULL)); + NULL, NULL); DCHECK(g_service_process); // TODO(sanjeevr): Change CreateSystemProxyConfigService to accept a // MessageLoopProxy* instead of MessageLoop*. @@ -116,30 +116,29 @@ ServiceURLRequestContext::ServiceURLRequestContext( net::ProxyService::CreateSystemProxyConfigService( g_service_process->io_thread()->message_loop(), g_service_process->file_thread()->message_loop()); - set_proxy_service(net::ProxyService::CreateUsingSystemProxyResolver( - proxy_config_service, 0u, NULL)); - set_cert_verifier(new net::CertVerifier); - set_dnsrr_resolver(new net::DnsRRResolver); - set_ftp_transaction_factory(new net::FtpNetworkLayer(host_resolver())); - set_ssl_config_service(new net::SSLConfigServiceDefaults); - set_http_auth_handler_factory(net::HttpAuthHandlerFactory::CreateDefault( - host_resolver())); + proxy_service_ = net::ProxyService::CreateUsingSystemProxyResolver( + proxy_config_service, 0u, NULL); + cert_verifier_ = new net::CertVerifier; + dnsrr_resolver_ = new net::DnsRRResolver; + ftp_transaction_factory_ = new net::FtpNetworkLayer(host_resolver_); + ssl_config_service_ = new net::SSLConfigServiceDefaults; + http_auth_handler_factory_ = net::HttpAuthHandlerFactory::CreateDefault( + host_resolver_); net::HttpNetworkSession::Params session_params; - session_params.host_resolver = host_resolver(); - session_params.cert_verifier = cert_verifier(); - session_params.dnsrr_resolver = dnsrr_resolver(); - session_params.proxy_service = proxy_service(); - session_params.ssl_config_service = ssl_config_service(); + session_params.host_resolver = host_resolver_; + session_params.cert_verifier = cert_verifier_; + session_params.dnsrr_resolver = dnsrr_resolver_; + session_params.proxy_service = proxy_service_; + session_params.ssl_config_service = ssl_config_service_; scoped_refptr<net::HttpNetworkSession> network_session( new net::HttpNetworkSession(session_params)); - set_http_transaction_factory( - new net::HttpCache( - network_session, - net::HttpCache::DefaultBackend::InMemory(0))); + http_transaction_factory_ = new net::HttpCache( + network_session, + net::HttpCache::DefaultBackend::InMemory(0)); // In-memory cookie store. - set_cookie_store(new net::CookieMonster(NULL, NULL)); - set_accept_language("en-us,fr"); - set_accept_charset("iso-8859-1,*,utf-8"); + cookie_store_ = new net::CookieMonster(NULL, NULL); + accept_language_ = "en-us,fr"; + accept_charset_ = "iso-8859-1,*,utf-8"; } const std::string& ServiceURLRequestContext::GetUserAgent( @@ -151,12 +150,11 @@ const std::string& ServiceURLRequestContext::GetUserAgent( } ServiceURLRequestContext::~ServiceURLRequestContext() { - delete ftp_transaction_factory(); - delete http_transaction_factory(); - delete http_auth_handler_factory(); - delete cert_verifier(); - delete dnsrr_resolver(); - delete host_resolver(); + delete ftp_transaction_factory_; + delete http_transaction_factory_; + delete http_auth_handler_factory_; + delete cert_verifier_; + delete dnsrr_resolver_; } ServiceURLRequestContextGetter::ServiceURLRequestContextGetter() diff --git a/chrome/service/net/service_url_request_context.h b/chrome/service/net/service_url_request_context.h index 7ffda3c..47d5c23e 100644 --- a/chrome/service/net/service_url_request_context.h +++ b/chrome/service/net/service_url_request_context.h @@ -32,6 +32,9 @@ class MessageLoopProxy; class ServiceURLRequestContext : public net::URLRequestContext { public: explicit ServiceURLRequestContext(const std::string& user_agent); + void set_cookie_policy(net::CookiePolicy* policy) { + cookie_policy_ = policy; + } // Overridden from net::URLRequestContext: virtual const std::string& GetUserAgent(const GURL& url) const; @@ -65,3 +68,4 @@ class ServiceURLRequestContextGetter : public URLRequestContextGetter { }; #endif // CHROME_SERVICE_NET_SERVICE_URL_REQUEST_CONTEXT_H_ + |