| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/shell/shell_url_request_context_getter.h" | 5 #include "content/shell/shell_url_request_context_getter.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/logging.h" | 8 #include "base/logging.h" |
| 9 #include "base/string_number_conversions.h" | 9 #include "base/string_number_conversions.h" |
| 10 #include "base/string_split.h" | 10 #include "base/string_split.h" |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 64 url_request_context_->set_network_delegate(network_delegate_.get()); | 64 url_request_context_->set_network_delegate(network_delegate_.get()); |
| 65 storage_.reset( | 65 storage_.reset( |
| 66 new net::URLRequestContextStorage(url_request_context_.get())); | 66 new net::URLRequestContextStorage(url_request_context_.get())); |
| 67 storage_->set_cookie_store(new net::CookieMonster(NULL, NULL)); | 67 storage_->set_cookie_store(new net::CookieMonster(NULL, NULL)); |
| 68 storage_->set_server_bound_cert_service(new net::ServerBoundCertService( | 68 storage_->set_server_bound_cert_service(new net::ServerBoundCertService( |
| 69 new net::DefaultServerBoundCertStore(NULL), | 69 new net::DefaultServerBoundCertStore(NULL), |
| 70 base::WorkerPool::GetTaskRunner(true))); | 70 base::WorkerPool::GetTaskRunner(true))); |
| 71 url_request_context_->set_accept_language("en-us,en"); | 71 url_request_context_->set_accept_language("en-us,en"); |
| 72 url_request_context_->set_accept_charset("iso-8859-1,*,utf-8"); | 72 url_request_context_->set_accept_charset("iso-8859-1,*,utf-8"); |
| 73 | 73 |
| 74 storage_->set_host_resolver( | 74 scoped_ptr<net::HostResolver> host_resolver( |
| 75 net::CreateSystemHostResolver(net::HostResolver::kDefaultParallelism, | 75 net::HostResolver::CreateDefaultResolver(NULL)); |
| 76 net::HostResolver::kDefaultRetryAttempts, | 76 |
| 77 NULL)); | |
| 78 storage_->set_cert_verifier(net::CertVerifier::CreateDefault()); | 77 storage_->set_cert_verifier(net::CertVerifier::CreateDefault()); |
| 79 // TODO(jam): use v8 if possible, look at chrome code. | 78 // TODO(jam): use v8 if possible, look at chrome code. |
| 80 storage_->set_proxy_service( | 79 storage_->set_proxy_service( |
| 81 net::ProxyService::CreateUsingSystemProxyResolver( | 80 net::ProxyService::CreateUsingSystemProxyResolver( |
| 82 proxy_config_service_.release(), | 81 proxy_config_service_.release(), |
| 83 0, | 82 0, |
| 84 NULL)); | 83 NULL)); |
| 85 storage_->set_ssl_config_service(new net::SSLConfigServiceDefaults); | 84 storage_->set_ssl_config_service(new net::SSLConfigServiceDefaults); |
| 86 storage_->set_http_auth_handler_factory( | 85 storage_->set_http_auth_handler_factory( |
| 87 net::HttpAuthHandlerFactory::CreateDefault( | 86 net::HttpAuthHandlerFactory::CreateDefault(host_resolver.get())); |
| 88 url_request_context_->host_resolver())); | |
| 89 storage_->set_http_server_properties(new net::HttpServerPropertiesImpl); | 87 storage_->set_http_server_properties(new net::HttpServerPropertiesImpl); |
| 90 | 88 |
| 91 FilePath cache_path = base_path_.Append(FILE_PATH_LITERAL("Cache")); | 89 FilePath cache_path = base_path_.Append(FILE_PATH_LITERAL("Cache")); |
| 92 net::HttpCache::DefaultBackend* main_backend = | 90 net::HttpCache::DefaultBackend* main_backend = |
| 93 new net::HttpCache::DefaultBackend( | 91 new net::HttpCache::DefaultBackend( |
| 94 net::DISK_CACHE, | 92 net::DISK_CACHE, |
| 95 cache_path, | 93 cache_path, |
| 96 0, | 94 0, |
| 97 BrowserThread::GetMessageLoopProxyForThread( | 95 BrowserThread::GetMessageLoopProxyForThread( |
| 98 BrowserThread::CACHE)); | 96 BrowserThread::CACHE)); |
| 99 | 97 |
| 100 net::HttpNetworkSession::Params network_session_params; | 98 net::HttpNetworkSession::Params network_session_params; |
| 101 network_session_params.host_resolver = | |
| 102 url_request_context_->host_resolver(); | |
| 103 network_session_params.cert_verifier = | 99 network_session_params.cert_verifier = |
| 104 url_request_context_->cert_verifier(); | 100 url_request_context_->cert_verifier(); |
| 105 network_session_params.server_bound_cert_service = | 101 network_session_params.server_bound_cert_service = |
| 106 url_request_context_->server_bound_cert_service(); | 102 url_request_context_->server_bound_cert_service(); |
| 107 network_session_params.proxy_service = | 103 network_session_params.proxy_service = |
| 108 url_request_context_->proxy_service(); | 104 url_request_context_->proxy_service(); |
| 109 network_session_params.ssl_config_service = | 105 network_session_params.ssl_config_service = |
| 110 url_request_context_->ssl_config_service(); | 106 url_request_context_->ssl_config_service(); |
| 111 network_session_params.http_auth_handler_factory = | 107 network_session_params.http_auth_handler_factory = |
| 112 url_request_context_->http_auth_handler_factory(); | 108 url_request_context_->http_auth_handler_factory(); |
| 113 network_session_params.network_delegate = | 109 network_session_params.network_delegate = |
| 114 url_request_context_->network_delegate(); | 110 url_request_context_->network_delegate(); |
| 115 network_session_params.http_server_properties = | 111 network_session_params.http_server_properties = |
| 116 url_request_context_->http_server_properties(); | 112 url_request_context_->http_server_properties(); |
| 117 network_session_params.ignore_certificate_errors = | 113 network_session_params.ignore_certificate_errors = |
| 118 ignore_certificate_errors_; | 114 ignore_certificate_errors_; |
| 119 if (command_line.HasSwitch(switches::kTestingFixedHttpPort)) { | 115 if (command_line.HasSwitch(switches::kTestingFixedHttpPort)) { |
| 120 int value; | 116 int value; |
| 121 base::StringToInt(command_line.GetSwitchValueASCII( | 117 base::StringToInt(command_line.GetSwitchValueASCII( |
| 122 switches::kTestingFixedHttpPort), &value); | 118 switches::kTestingFixedHttpPort), &value); |
| 123 network_session_params.testing_fixed_http_port = value; | 119 network_session_params.testing_fixed_http_port = value; |
| 124 } | 120 } |
| 125 if (command_line.HasSwitch(switches::kTestingFixedHttpsPort)) { | 121 if (command_line.HasSwitch(switches::kTestingFixedHttpsPort)) { |
| 126 int value; | 122 int value; |
| 127 base::StringToInt(command_line.GetSwitchValueASCII( | 123 base::StringToInt(command_line.GetSwitchValueASCII( |
| 128 switches::kTestingFixedHttpsPort), &value); | 124 switches::kTestingFixedHttpsPort), &value); |
| 129 network_session_params.testing_fixed_https_port = value; | 125 network_session_params.testing_fixed_https_port = value; |
| 130 } | 126 } |
| 131 if (command_line.HasSwitch(switches::kHostResolverRules)) { | 127 if (command_line.HasSwitch(switches::kHostResolverRules)) { |
| 132 mapped_host_resolver_.reset( | 128 scoped_ptr<net::MappedHostResolver> mapped_host_resolver( |
| 133 new net::MappedHostResolver(network_session_params.host_resolver)); | 129 new net::MappedHostResolver(host_resolver.Pass())); |
| 134 mapped_host_resolver_->SetRulesFromString( | 130 mapped_host_resolver->SetRulesFromString( |
| 135 command_line.GetSwitchValueASCII(switches::kHostResolverRules)); | 131 command_line.GetSwitchValueASCII(switches::kHostResolverRules)); |
| 136 network_session_params.host_resolver = mapped_host_resolver_.get(); | 132 host_resolver = mapped_host_resolver.Pass(); |
| 137 } | 133 } |
| 138 | 134 |
| 135 // Give |storage_| ownership at the end in case it's |mapped_host_resolver|. |
| 136 storage_->set_host_resolver(host_resolver.Pass()); |
| 137 network_session_params.host_resolver = |
| 138 url_request_context_->host_resolver(); |
| 139 |
| 139 net::HttpCache* main_cache = new net::HttpCache( | 140 net::HttpCache* main_cache = new net::HttpCache( |
| 140 network_session_params, main_backend); | 141 network_session_params, main_backend); |
| 141 storage_->set_http_transaction_factory(main_cache); | 142 storage_->set_http_transaction_factory(main_cache); |
| 142 | 143 |
| 143 storage_->set_job_factory(new net::URLRequestJobFactoryImpl); | 144 storage_->set_job_factory(new net::URLRequestJobFactoryImpl); |
| 144 } | 145 } |
| 145 | 146 |
| 146 return url_request_context_.get(); | 147 return url_request_context_.get(); |
| 147 } | 148 } |
| 148 | 149 |
| 149 scoped_refptr<base::SingleThreadTaskRunner> | 150 scoped_refptr<base::SingleThreadTaskRunner> |
| 150 ShellURLRequestContextGetter::GetNetworkTaskRunner() const { | 151 ShellURLRequestContextGetter::GetNetworkTaskRunner() const { |
| 151 return BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO); | 152 return BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO); |
| 152 } | 153 } |
| 153 | 154 |
| 154 net::HostResolver* ShellURLRequestContextGetter::host_resolver() { | 155 net::HostResolver* ShellURLRequestContextGetter::host_resolver() { |
| 155 return url_request_context_->host_resolver(); | 156 return url_request_context_->host_resolver(); |
| 156 } | 157 } |
| 157 | 158 |
| 158 } // namespace content | 159 } // namespace content |
| OLD | NEW |