Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(448)

Side by Side Diff: net/url_request/url_request_context_builder.cc

Issue 10909245: Places that create a CookieMonster should also create a ServerBoundCertService. Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 "net/url_request/url_request_context_builder.h" 5 #include "net/url_request/url_request_context_builder.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
11 #include "base/logging.h" 11 #include "base/logging.h"
12 #include "base/threading/thread.h" 12 #include "base/threading/thread.h"
13 #include "base/threading/worker_pool.h"
13 #include "base/thread_task_runner_handle.h" 14 #include "base/thread_task_runner_handle.h"
14 #include "net/base/cert_verifier.h" 15 #include "net/base/cert_verifier.h"
16 #include "net/base/default_server_bound_cert_store.h"
15 #include "net/base/host_resolver.h" 17 #include "net/base/host_resolver.h"
16 #include "net/base/net_errors.h" 18 #include "net/base/net_errors.h"
17 #include "net/base/network_delegate.h" 19 #include "net/base/network_delegate.h"
20 #include "net/base/server_bound_cert_service.h"
18 #include "net/base/ssl_config_service_defaults.h" 21 #include "net/base/ssl_config_service_defaults.h"
19 #include "net/base/transport_security_state.h" 22 #include "net/base/transport_security_state.h"
20 #include "net/cookies/cookie_monster.h" 23 #include "net/cookies/cookie_monster.h"
21 #include "net/ftp/ftp_network_layer.h" 24 #include "net/ftp/ftp_network_layer.h"
22 #include "net/http/http_auth_handler_factory.h" 25 #include "net/http/http_auth_handler_factory.h"
23 #include "net/http/http_cache.h" 26 #include "net/http/http_cache.h"
24 #include "net/http/http_network_layer.h" 27 #include "net/http/http_network_layer.h"
25 #include "net/http/http_network_session.h" 28 #include "net/http/http_network_session.h"
26 #include "net/http/http_server_properties_impl.h" 29 #include "net/http/http_server_properties_impl.h"
27 #include "net/proxy/proxy_service.h" 30 #include "net/proxy/proxy_service.h"
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
236 context->file_message_loop()); 239 context->file_message_loop());
237 #endif // defined(OS_LINUX) 240 #endif // defined(OS_LINUX)
238 storage->set_proxy_service( 241 storage->set_proxy_service(
239 ProxyService::CreateUsingSystemProxyResolver( 242 ProxyService::CreateUsingSystemProxyResolver(
240 proxy_config_service, 243 proxy_config_service,
241 4, // TODO(willchan): Find a better constant somewhere. 244 4, // TODO(willchan): Find a better constant somewhere.
242 context->net_log())); 245 context->net_log()));
243 storage->set_ssl_config_service(new net::SSLConfigServiceDefaults); 246 storage->set_ssl_config_service(new net::SSLConfigServiceDefaults);
244 storage->set_http_auth_handler_factory( 247 storage->set_http_auth_handler_factory(
245 net::HttpAuthHandlerRegistryFactory::CreateDefault(host_resolver)); 248 net::HttpAuthHandlerRegistryFactory::CreateDefault(host_resolver));
249 storage->set_server_bound_cert_service(new net::ServerBoundCertService(
250 new net::DefaultServerBoundCertStore(NULL),
251 base::WorkerPool::GetTaskRunner(true)));
246 storage->set_cookie_store(new CookieMonster(NULL, NULL)); 252 storage->set_cookie_store(new CookieMonster(NULL, NULL));
247 storage->set_transport_security_state(new net::TransportSecurityState()); 253 storage->set_transport_security_state(new net::TransportSecurityState());
248 storage->set_http_server_properties(new net::HttpServerPropertiesImpl); 254 storage->set_http_server_properties(new net::HttpServerPropertiesImpl);
249 storage->set_cert_verifier(CertVerifier::CreateDefault()); 255 storage->set_cert_verifier(CertVerifier::CreateDefault());
250 256
251 net::HttpNetworkSession::Params network_session_params; 257 net::HttpNetworkSession::Params network_session_params;
252 network_session_params.host_resolver = host_resolver; 258 network_session_params.host_resolver = host_resolver;
253 network_session_params.cert_verifier = context->cert_verifier(); 259 network_session_params.cert_verifier = context->cert_verifier();
260 network_session_params.server_bound_cert_service =
261 context->server_bound_cert_service();
254 network_session_params.transport_security_state = 262 network_session_params.transport_security_state =
255 context->transport_security_state(); 263 context->transport_security_state();
256 network_session_params.proxy_service = context->proxy_service(); 264 network_session_params.proxy_service = context->proxy_service();
257 network_session_params.ssl_config_service = 265 network_session_params.ssl_config_service =
258 context->ssl_config_service(); 266 context->ssl_config_service();
259 network_session_params.http_auth_handler_factory = 267 network_session_params.http_auth_handler_factory =
260 context->http_auth_handler_factory(); 268 context->http_auth_handler_factory();
261 network_session_params.network_delegate = 269 network_session_params.network_delegate =
262 context->network_delegate(); 270 context->network_delegate();
263 network_session_params.http_server_properties = 271 network_session_params.http_server_properties =
264 context->http_server_properties(); 272 context->http_server_properties();
265 network_session_params.net_log = context->net_log(); 273 network_session_params.net_log = context->net_log();
266 network_session_params.ignore_certificate_errors = 274 network_session_params.ignore_certificate_errors =
267 http_network_session_params_.ignore_certificate_errors; 275 http_network_session_params_.ignore_certificate_errors;
268 network_session_params.host_mapping_rules = 276 network_session_params.host_mapping_rules =
269 http_network_session_params_.host_mapping_rules; 277 http_network_session_params_.host_mapping_rules;
270 network_session_params.http_pipelining_enabled = 278 network_session_params.http_pipelining_enabled =
271 http_network_session_params_.http_pipelining_enabled; 279 http_network_session_params_.http_pipelining_enabled;
272 network_session_params.testing_fixed_http_port = 280 network_session_params.testing_fixed_http_port =
273 http_network_session_params_.testing_fixed_http_port; 281 http_network_session_params_.testing_fixed_http_port;
274 network_session_params.testing_fixed_https_port = 282 network_session_params.testing_fixed_https_port =
275 http_network_session_params_.testing_fixed_https_port; 283 http_network_session_params_.testing_fixed_https_port;
276 network_session_params.trusted_spdy_proxy = 284 network_session_params.trusted_spdy_proxy =
277 http_network_session_params_.trusted_spdy_proxy; 285 http_network_session_params_.trusted_spdy_proxy;
278 286
279 HttpTransactionFactory* http_transaction_factory = NULL; 287 HttpTransactionFactory* http_transaction_factory = NULL;
280 if (http_cache_enabled_) { 288 if (http_cache_enabled_) {
281 network_session_params.server_bound_cert_service =
282 context->server_bound_cert_service();
283 HttpCache::BackendFactory* http_cache_backend = NULL; 289 HttpCache::BackendFactory* http_cache_backend = NULL;
284 if (http_cache_params_.type == HttpCacheParams::DISK) { 290 if (http_cache_params_.type == HttpCacheParams::DISK) {
285 context->StartCacheThread(); 291 context->StartCacheThread();
286 http_cache_backend = 292 http_cache_backend =
287 new HttpCache::DefaultBackend(DISK_CACHE, 293 new HttpCache::DefaultBackend(DISK_CACHE,
288 http_cache_params_.path, 294 http_cache_params_.path,
289 http_cache_params_.max_size, 295 http_cache_params_.max_size,
290 context->cache_message_loop_proxy()); 296 context->cache_message_loop_proxy());
291 } else { 297 } else {
292 http_cache_backend = 298 http_cache_backend =
293 HttpCache::DefaultBackend::InMemory(http_cache_params_.max_size); 299 HttpCache::DefaultBackend::InMemory(http_cache_params_.max_size);
294 } 300 }
295 301
296 http_transaction_factory = new HttpCache( 302 http_transaction_factory = new HttpCache(
297 network_session_params, http_cache_backend); 303 network_session_params, http_cache_backend);
298 } else { 304 } else {
299 scoped_refptr<net::HttpNetworkSession> network_session( 305 scoped_refptr<net::HttpNetworkSession> network_session(
300 new net::HttpNetworkSession(network_session_params)); 306 new net::HttpNetworkSession(network_session_params));
301 307
302 http_transaction_factory = new HttpNetworkLayer(network_session); 308 http_transaction_factory = new HttpNetworkLayer(network_session);
303 } 309 }
304 storage->set_http_transaction_factory(http_transaction_factory); 310 storage->set_http_transaction_factory(http_transaction_factory);
305 311
306 // TODO(willchan): Support sdch. 312 // TODO(willchan): Support sdch.
307 313
308 return context; 314 return context;
309 } 315 }
310 316
311 } // namespace net 317 } // namespace net
OLDNEW
« no previous file with comments | « chrome/service/net/service_url_request_context.cc ('k') | net/url_request/url_request_test_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698