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

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

Issue 2986623002: Revert of Make ProfileIOData use URLRequestContextBuilder (Closed)
Patch Set: Created 3 years, 5 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
« no previous file with comments | « net/url_request/url_request_context_builder.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #include <utility> 8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 185
186 URLRequestContextBuilder::HttpCacheParams::HttpCacheParams() 186 URLRequestContextBuilder::HttpCacheParams::HttpCacheParams()
187 : type(IN_MEMORY), 187 : type(IN_MEMORY),
188 max_size(0) {} 188 max_size(0) {}
189 URLRequestContextBuilder::HttpCacheParams::~HttpCacheParams() {} 189 URLRequestContextBuilder::HttpCacheParams::~HttpCacheParams() {}
190 190
191 URLRequestContextBuilder::URLRequestContextBuilder() 191 URLRequestContextBuilder::URLRequestContextBuilder()
192 : name_(nullptr), 192 : name_(nullptr),
193 enable_brotli_(false), 193 enable_brotli_(false),
194 network_quality_estimator_(nullptr), 194 network_quality_estimator_(nullptr),
195 shared_http_user_agent_settings_(nullptr),
196 data_enabled_(false), 195 data_enabled_(false),
197 #if !BUILDFLAG(DISABLE_FILE_SUPPORT) 196 #if !BUILDFLAG(DISABLE_FILE_SUPPORT)
198 file_enabled_(false), 197 file_enabled_(false),
199 #endif 198 #endif
200 #if !BUILDFLAG(DISABLE_FTP_SUPPORT) 199 #if !BUILDFLAG(DISABLE_FTP_SUPPORT)
201 ftp_enabled_(false), 200 ftp_enabled_(false),
202 #endif 201 #endif
203 http_cache_enabled_(true), 202 http_cache_enabled_(true),
204 throttling_enabled_(false), 203 throttling_enabled_(false),
205 sdch_enabled_(false), 204 sdch_enabled_(false),
206 cookie_store_set_by_client_(false), 205 cookie_store_set_by_client_(false),
207 transport_security_persister_readonly_(false),
208 net_log_(nullptr), 206 net_log_(nullptr),
209 shared_host_resolver_(nullptr),
210 pac_quick_check_enabled_(true), 207 pac_quick_check_enabled_(true),
211 pac_sanitize_url_policy_(ProxyService::SanitizeUrlPolicy::SAFE), 208 pac_sanitize_url_policy_(ProxyService::SanitizeUrlPolicy::SAFE) {
212 shared_proxy_delegate_(nullptr),
213 shared_http_auth_handler_factory_(nullptr),
214 shared_cert_verifier_(nullptr) {
215 } 209 }
216 210
217 URLRequestContextBuilder::~URLRequestContextBuilder() {} 211 URLRequestContextBuilder::~URLRequestContextBuilder() {}
218 212
219 void URLRequestContextBuilder::SetHttpNetworkSessionComponents( 213 void URLRequestContextBuilder::SetHttpNetworkSessionComponents(
220 const URLRequestContext* request_context, 214 const URLRequestContext* request_context,
221 HttpNetworkSession::Context* session_context) { 215 HttpNetworkSession::Context* session_context) {
222 session_context->host_resolver = request_context->host_resolver(); 216 session_context->host_resolver = request_context->host_resolver();
223 session_context->cert_verifier = request_context->cert_verifier(); 217 session_context->cert_verifier = request_context->cert_verifier();
224 session_context->transport_security_state = 218 session_context->transport_security_state =
(...skipping 11 matching lines...) Expand all
236 session_context->channel_id_service = request_context->channel_id_service(); 230 session_context->channel_id_service = request_context->channel_id_service();
237 session_context->network_quality_provider = 231 session_context->network_quality_provider =
238 request_context->network_quality_estimator(); 232 request_context->network_quality_estimator();
239 if (request_context->network_quality_estimator()) { 233 if (request_context->network_quality_estimator()) {
240 session_context->socket_performance_watcher_factory = 234 session_context->socket_performance_watcher_factory =
241 request_context->network_quality_estimator() 235 request_context->network_quality_estimator()
242 ->GetSocketPerformanceWatcherFactory(); 236 ->GetSocketPerformanceWatcherFactory();
243 } 237 }
244 } 238 }
245 239
246 void URLRequestContextBuilder::set_accept_language(
247 const std::string& accept_language) {
248 DCHECK(!shared_http_user_agent_settings_);
249 accept_language_ = accept_language;
250 }
251 void URLRequestContextBuilder::set_user_agent(const std::string& user_agent) {
252 DCHECK(!shared_http_user_agent_settings_);
253 user_agent_ = user_agent;
254 }
255 void URLRequestContextBuilder::set_shared_http_user_agent_settings(
256 HttpUserAgentSettings* shared_http_user_agent_settings) {
257 DCHECK(accept_language_.empty());
258 DCHECK(user_agent_.empty());
259 shared_http_user_agent_settings_ = shared_http_user_agent_settings;
260 }
261
262 void URLRequestContextBuilder::EnableHttpCache(const HttpCacheParams& params) { 240 void URLRequestContextBuilder::EnableHttpCache(const HttpCacheParams& params) {
263 http_cache_enabled_ = true; 241 http_cache_enabled_ = true;
264 http_cache_params_ = params; 242 http_cache_params_ = params;
265 } 243 }
266 244
267 void URLRequestContextBuilder::DisableHttpCache() { 245 void URLRequestContextBuilder::DisableHttpCache() {
268 http_cache_enabled_ = false; 246 http_cache_enabled_ = false;
269 http_cache_params_ = HttpCacheParams(); 247 http_cache_params_ = HttpCacheParams();
270 } 248 }
271 249
272 void URLRequestContextBuilder::SetSpdyAndQuicEnabled(bool spdy_enabled, 250 void URLRequestContextBuilder::SetSpdyAndQuicEnabled(bool spdy_enabled,
273 bool quic_enabled) { 251 bool quic_enabled) {
274 http_network_session_params_.enable_http2 = spdy_enabled; 252 http_network_session_params_.enable_http2 = spdy_enabled;
275 http_network_session_params_.enable_quic = quic_enabled; 253 http_network_session_params_.enable_quic = quic_enabled;
276 } 254 }
277 255
278 void URLRequestContextBuilder::set_ct_verifier( 256 void URLRequestContextBuilder::set_ct_verifier(
279 std::unique_ptr<CTVerifier> ct_verifier) { 257 std::unique_ptr<CTVerifier> ct_verifier) {
280 ct_verifier_ = std::move(ct_verifier); 258 ct_verifier_ = std::move(ct_verifier);
281 } 259 }
282 260
283 void URLRequestContextBuilder::set_ct_policy_enforcer( 261 void URLRequestContextBuilder::set_ct_policy_enforcer(
284 std::unique_ptr<CTPolicyEnforcer> ct_policy_enforcer) { 262 std::unique_ptr<CTPolicyEnforcer> ct_policy_enforcer) {
285 ct_policy_enforcer_ = std::move(ct_policy_enforcer); 263 ct_policy_enforcer_ = std::move(ct_policy_enforcer);
286 } 264 }
287 265
288 void URLRequestContextBuilder::SetCertVerifier( 266 void URLRequestContextBuilder::SetCertVerifier(
289 std::unique_ptr<CertVerifier> cert_verifier) { 267 std::unique_ptr<CertVerifier> cert_verifier) {
290 DCHECK(!shared_cert_verifier_);
291 cert_verifier_ = std::move(cert_verifier); 268 cert_verifier_ = std::move(cert_verifier);
292 } 269 }
293 270
294 void URLRequestContextBuilder::set_shared_cert_verifier(
295 CertVerifier* shared_cert_verifier) {
296 DCHECK(!cert_verifier_);
297 shared_cert_verifier_ = shared_cert_verifier;
298 }
299
300 #if BUILDFLAG(ENABLE_REPORTING) 271 #if BUILDFLAG(ENABLE_REPORTING)
301 void URLRequestContextBuilder::set_reporting_policy( 272 void URLRequestContextBuilder::set_reporting_policy(
302 std::unique_ptr<net::ReportingPolicy> reporting_policy) { 273 std::unique_ptr<net::ReportingPolicy> reporting_policy) {
303 reporting_policy_ = std::move(reporting_policy); 274 reporting_policy_ = std::move(reporting_policy);
304 } 275 }
305 #endif // BUILDFLAG(ENABLE_REPORTING) 276 #endif // BUILDFLAG(ENABLE_REPORTING)
306 277
307 void URLRequestContextBuilder::SetInterceptors( 278 void URLRequestContextBuilder::SetInterceptors(
308 std::vector<std::unique_ptr<URLRequestInterceptor>> 279 std::vector<std::unique_ptr<URLRequestInterceptor>>
309 url_request_interceptors) { 280 url_request_interceptors) {
310 url_request_interceptors_ = std::move(url_request_interceptors); 281 url_request_interceptors_ = std::move(url_request_interceptors);
311 } 282 }
312 283
313 void URLRequestContextBuilder::set_create_intercepting_job_factory(
314 CreateInterceptingJobFactory create_intercepting_job_factory) {
315 DCHECK(!create_intercepting_job_factory_);
316 create_intercepting_job_factory_ = std::move(create_intercepting_job_factory);
317 }
318
319 void URLRequestContextBuilder::SetCookieAndChannelIdStores( 284 void URLRequestContextBuilder::SetCookieAndChannelIdStores(
320 std::unique_ptr<CookieStore> cookie_store, 285 std::unique_ptr<CookieStore> cookie_store,
321 std::unique_ptr<ChannelIDService> channel_id_service) { 286 std::unique_ptr<ChannelIDService> channel_id_service) {
322 cookie_store_set_by_client_ = true; 287 cookie_store_set_by_client_ = true;
323 // If |cookie_store| is NULL, |channel_id_service| must be NULL too. 288 // If |cookie_store| is NULL, |channel_id_service| must be NULL too.
324 DCHECK(cookie_store || !channel_id_service); 289 DCHECK(cookie_store || !channel_id_service);
325 cookie_store_ = std::move(cookie_store); 290 cookie_store_ = std::move(cookie_store);
326 channel_id_service_ = std::move(channel_id_service); 291 channel_id_service_ = std::move(channel_id_service);
327 } 292 }
328 293
329 void URLRequestContextBuilder::SetCacheThreadTaskRunner( 294 void URLRequestContextBuilder::SetCacheThreadTaskRunner(
330 scoped_refptr<base::SingleThreadTaskRunner> cache_thread_task_runner) { 295 scoped_refptr<base::SingleThreadTaskRunner> cache_thread_task_runner) {
331 cache_thread_task_runner_ = std::move(cache_thread_task_runner); 296 cache_thread_task_runner_ = std::move(cache_thread_task_runner);
332 } 297 }
333 298
334 void URLRequestContextBuilder::SetProtocolHandler( 299 void URLRequestContextBuilder::SetProtocolHandler(
335 const std::string& scheme, 300 const std::string& scheme,
336 std::unique_ptr<URLRequestJobFactory::ProtocolHandler> protocol_handler) { 301 std::unique_ptr<URLRequestJobFactory::ProtocolHandler> protocol_handler) {
337 DCHECK(protocol_handler); 302 DCHECK(protocol_handler);
338 // If a consumer sets a ProtocolHandler and then overwrites it with another,
339 // it's probably a bug.
340 DCHECK_EQ(0u, protocol_handlers_.count(scheme));
341 protocol_handlers_[scheme] = std::move(protocol_handler); 303 protocol_handlers_[scheme] = std::move(protocol_handler);
342 } 304 }
343 305
344 void URLRequestContextBuilder::set_host_resolver(
345 std::unique_ptr<HostResolver> host_resolver) {
346 DCHECK(!shared_host_resolver_);
347 host_resolver_ = std::move(host_resolver);
348 }
349
350 void URLRequestContextBuilder::set_shared_host_resolver(
351 HostResolver* shared_host_resolver) {
352 DCHECK(!host_resolver_);
353 shared_host_resolver_ = shared_host_resolver;
354 }
355
356 void URLRequestContextBuilder::set_proxy_delegate(
357 std::unique_ptr<ProxyDelegate> proxy_delegate) {
358 DCHECK(!shared_proxy_delegate_);
359 proxy_delegate_ = std::move(proxy_delegate);
360 }
361
362 void URLRequestContextBuilder::set_shared_proxy_delegate(
363 ProxyDelegate* shared_proxy_delegate) {
364 DCHECK(!proxy_delegate_);
365 shared_proxy_delegate_ = shared_proxy_delegate;
366 }
367
368 void URLRequestContextBuilder::SetHttpAuthHandlerFactory( 306 void URLRequestContextBuilder::SetHttpAuthHandlerFactory(
369 std::unique_ptr<HttpAuthHandlerFactory> factory) { 307 std::unique_ptr<HttpAuthHandlerFactory> factory) {
370 DCHECK(!shared_http_auth_handler_factory_);
371 http_auth_handler_factory_ = std::move(factory); 308 http_auth_handler_factory_ = std::move(factory);
372 } 309 }
373 310
374 void URLRequestContextBuilder::set_shared_http_auth_handler_factory(
375 HttpAuthHandlerFactory* shared_http_auth_handler_factory) {
376 DCHECK(!http_auth_handler_factory_);
377 shared_http_auth_handler_factory_ = shared_http_auth_handler_factory;
378 }
379
380 void URLRequestContextBuilder::SetHttpServerProperties( 311 void URLRequestContextBuilder::SetHttpServerProperties(
381 std::unique_ptr<HttpServerProperties> http_server_properties) { 312 std::unique_ptr<HttpServerProperties> http_server_properties) {
382 http_server_properties_ = std::move(http_server_properties); 313 http_server_properties_ = std::move(http_server_properties);
383 } 314 }
384 315
385 std::unique_ptr<URLRequestContext> URLRequestContextBuilder::Build() { 316 std::unique_ptr<URLRequestContext> URLRequestContextBuilder::Build() {
386 std::unique_ptr<ContainerURLRequestContext> context( 317 std::unique_ptr<ContainerURLRequestContext> context(
387 new ContainerURLRequestContext()); 318 new ContainerURLRequestContext());
388 URLRequestContextStorage* storage = context->storage(); 319 URLRequestContextStorage* storage = context->storage();
389 320
390 context->set_name(name_); 321 context->set_name(name_);
391 context->set_enable_brotli(enable_brotli_); 322 context->set_enable_brotli(enable_brotli_);
392 context->set_network_quality_estimator(network_quality_estimator_); 323 context->set_network_quality_estimator(network_quality_estimator_);
393 324
394 if (shared_http_user_agent_settings_) { 325 storage->set_http_user_agent_settings(
395 context->set_http_user_agent_settings(shared_http_user_agent_settings_); 326 base::MakeUnique<StaticHttpUserAgentSettings>(accept_language_,
396 } else { 327 user_agent_));
397 storage->set_http_user_agent_settings(
398 base::MakeUnique<StaticHttpUserAgentSettings>(accept_language_,
399 user_agent_));
400 }
401 328
402 if (!network_delegate_) 329 if (!network_delegate_)
403 network_delegate_.reset(new BasicNetworkDelegate); 330 network_delegate_.reset(new BasicNetworkDelegate);
404 storage->set_network_delegate(std::move(network_delegate_)); 331 storage->set_network_delegate(std::move(network_delegate_));
405 332
406 if (net_log_) { 333 if (net_log_) {
407 // Unlike the other builder parameters, |net_log_| is not owned by the 334 // Unlike the other builder parameters, |net_log_| is not owned by the
408 // builder or resulting context. 335 // builder or resulting context.
409 context->set_net_log(net_log_); 336 context->set_net_log(net_log_);
410 } else { 337 } else {
411 storage->set_net_log(base::WrapUnique(new NetLog)); 338 storage->set_net_log(base::WrapUnique(new NetLog));
412 } 339 }
413 340
414 if (host_resolver_) { 341 if (!host_resolver_) {
415 DCHECK(!shared_host_resolver_); 342 host_resolver_ = HostResolver::CreateDefaultResolver(context->net_log());
416 storage->set_host_resolver(std::move(host_resolver_));
417 } else if (shared_host_resolver_) {
418 context->set_host_resolver(shared_host_resolver_);
419 } else {
420 storage->set_host_resolver(
421 HostResolver::CreateDefaultResolver(context->net_log()));
422 } 343 }
344 storage->set_host_resolver(std::move(host_resolver_));
423 345
424 if (ssl_config_service_) { 346 if (ssl_config_service_) {
425 // This takes a raw pointer, but |storage| will hold onto a reference to the 347 // This takes a raw pointer, but |storage| will hold onto a reference to the
426 // service. 348 // service.
427 storage->set_ssl_config_service(ssl_config_service_.get()); 349 storage->set_ssl_config_service(ssl_config_service_.get());
428 } else { 350 } else {
429 storage->set_ssl_config_service(new SSLConfigServiceDefaults); 351 storage->set_ssl_config_service(new SSLConfigServiceDefaults);
430 } 352 }
431 353
432 if (http_auth_handler_factory_) { 354 if (!http_auth_handler_factory_) {
433 DCHECK(!shared_http_auth_handler_factory_); 355 http_auth_handler_factory_ =
434 storage->set_http_auth_handler_factory( 356 HttpAuthHandlerRegistryFactory::CreateDefault(context->host_resolver());
435 std::move(http_auth_handler_factory_));
436 } else if (shared_http_auth_handler_factory_) {
437 context->set_http_auth_handler_factory(shared_http_auth_handler_factory_);
438 } else {
439 storage->set_http_auth_handler_factory(
440 HttpAuthHandlerRegistryFactory::CreateDefault(
441 context->host_resolver()));
442 } 357 }
443 358
359 storage->set_http_auth_handler_factory(std::move(http_auth_handler_factory_));
360
444 if (cookie_store_set_by_client_) { 361 if (cookie_store_set_by_client_) {
445 storage->set_cookie_store(std::move(cookie_store_)); 362 storage->set_cookie_store(std::move(cookie_store_));
446 storage->set_channel_id_service(std::move(channel_id_service_)); 363 storage->set_channel_id_service(std::move(channel_id_service_));
447 } else { 364 } else {
448 std::unique_ptr<CookieStore> cookie_store( 365 std::unique_ptr<CookieStore> cookie_store(
449 new CookieMonster(nullptr, nullptr)); 366 new CookieMonster(nullptr, nullptr));
450 std::unique_ptr<ChannelIDService> channel_id_service( 367 std::unique_ptr<ChannelIDService> channel_id_service(
451 new ChannelIDService(new DefaultChannelIDStore(NULL))); 368 new ChannelIDService(new DefaultChannelIDStore(NULL)));
452 cookie_store->SetChannelIDServiceID(channel_id_service->GetUniqueID()); 369 cookie_store->SetChannelIDServiceID(channel_id_service->GetUniqueID());
453 storage->set_cookie_store(std::move(cookie_store)); 370 storage->set_cookie_store(std::move(cookie_store));
(...skipping 11 matching lines...) Expand all
465 // Use a low priority because saving this should not block anything 382 // Use a low priority because saving this should not block anything
466 // user-visible. Block shutdown to ensure it does get persisted to disk, 383 // user-visible. Block shutdown to ensure it does get persisted to disk,
467 // since it contains security-relevant information. 384 // since it contains security-relevant information.
468 scoped_refptr<base::SequencedTaskRunner> task_runner( 385 scoped_refptr<base::SequencedTaskRunner> task_runner(
469 base::CreateSequencedTaskRunnerWithTraits( 386 base::CreateSequencedTaskRunnerWithTraits(
470 {base::MayBlock(), base::TaskPriority::BACKGROUND, 387 {base::MayBlock(), base::TaskPriority::BACKGROUND,
471 base::TaskShutdownBehavior::BLOCK_SHUTDOWN})); 388 base::TaskShutdownBehavior::BLOCK_SHUTDOWN}));
472 389
473 context->set_transport_security_persister( 390 context->set_transport_security_persister(
474 base::WrapUnique<TransportSecurityPersister>( 391 base::WrapUnique<TransportSecurityPersister>(
475 new TransportSecurityPersister( 392 new TransportSecurityPersister(context->transport_security_state(),
476 context->transport_security_state(), 393 transport_security_persister_path_,
477 transport_security_persister_path_, task_runner, 394 task_runner, false)));
478 transport_security_persister_readonly_)));
479 } 395 }
480 396
481 if (http_server_properties_) { 397 if (http_server_properties_) {
482 storage->set_http_server_properties(std::move(http_server_properties_)); 398 storage->set_http_server_properties(std::move(http_server_properties_));
483 } else { 399 } else {
484 storage->set_http_server_properties( 400 storage->set_http_server_properties(
485 std::unique_ptr<HttpServerProperties>(new HttpServerPropertiesImpl())); 401 std::unique_ptr<HttpServerProperties>(new HttpServerPropertiesImpl()));
486 } 402 }
487 403
488 if (cert_verifier_) { 404 if (cert_verifier_) {
489 DCHECK(!shared_cert_verifier_);
490 storage->set_cert_verifier(std::move(cert_verifier_)); 405 storage->set_cert_verifier(std::move(cert_verifier_));
491 } else if (shared_cert_verifier_) {
492 context->set_cert_verifier(shared_cert_verifier_);
493 } else { 406 } else {
494 storage->set_cert_verifier(CertVerifier::CreateDefault()); 407 storage->set_cert_verifier(CertVerifier::CreateDefault());
495 } 408 }
496 409
497 if (ct_verifier_) { 410 if (ct_verifier_) {
498 storage->set_cert_transparency_verifier(std::move(ct_verifier_)); 411 storage->set_cert_transparency_verifier(std::move(ct_verifier_));
499 } else { 412 } else {
500 std::unique_ptr<MultiLogCTVerifier> ct_verifier = 413 std::unique_ptr<MultiLogCTVerifier> ct_verifier =
501 base::MakeUnique<MultiLogCTVerifier>(); 414 base::MakeUnique<MultiLogCTVerifier>();
502 ct_verifier->AddLogs(ct::CreateLogVerifiersForKnownLogs()); 415 ct_verifier->AddLogs(ct::CreateLogVerifiersForKnownLogs());
(...skipping 25 matching lines...) Expand all
528 context->network_delegate(), context->net_log()); 441 context->network_delegate(), context->net_log());
529 proxy_service_->set_quick_check_enabled(pac_quick_check_enabled_); 442 proxy_service_->set_quick_check_enabled(pac_quick_check_enabled_);
530 proxy_service_->set_sanitize_url_policy(pac_sanitize_url_policy_); 443 proxy_service_->set_sanitize_url_policy(pac_sanitize_url_policy_);
531 } 444 }
532 storage->set_proxy_service(std::move(proxy_service_)); 445 storage->set_proxy_service(std::move(proxy_service_));
533 446
534 HttpNetworkSession::Context network_session_context; 447 HttpNetworkSession::Context network_session_context;
535 SetHttpNetworkSessionComponents(context.get(), &network_session_context); 448 SetHttpNetworkSessionComponents(context.get(), &network_session_context);
536 449
537 if (proxy_delegate_) { 450 if (proxy_delegate_) {
538 DCHECK(!shared_proxy_delegate_);
539 network_session_context.proxy_delegate = proxy_delegate_.get(); 451 network_session_context.proxy_delegate = proxy_delegate_.get();
540 storage->set_proxy_delegate(std::move(proxy_delegate_)); 452 storage->set_proxy_delegate(std::move(proxy_delegate_));
541 } else if (shared_proxy_delegate_) {
542 network_session_context.proxy_delegate = shared_proxy_delegate_;
543 } 453 }
544 454
545 storage->set_http_network_session(base::MakeUnique<HttpNetworkSession>( 455 storage->set_http_network_session(base::MakeUnique<HttpNetworkSession>(
546 http_network_session_params_, network_session_context)); 456 http_network_session_params_, network_session_context));
547 457
548 std::unique_ptr<HttpTransactionFactory> http_transaction_factory; 458 std::unique_ptr<HttpTransactionFactory> http_transaction_factory;
549 if (http_cache_enabled_) { 459 if (http_cache_enabled_) {
550 std::unique_ptr<HttpCache::BackendFactory> http_cache_backend; 460 std::unique_ptr<HttpCache::BackendFactory> http_cache_backend;
551 if (http_cache_params_.type != HttpCacheParams::IN_MEMORY) { 461 if (http_cache_params_.type != HttpCacheParams::IN_MEMORY) {
552 if (!cache_thread_task_runner_) { 462 if (!cache_thread_task_runner_) {
553 cache_thread_task_runner_ = 463 cache_thread_task_runner_ =
554 base::CreateSingleThreadTaskRunnerWithTraits( 464 base::CreateSingleThreadTaskRunnerWithTraits(
555 {base::MayBlock(), base::TaskPriority::USER_BLOCKING, 465 {base::MayBlock(), base::TaskPriority::USER_BLOCKING,
556 base::TaskShutdownBehavior::BLOCK_SHUTDOWN}); 466 base::TaskShutdownBehavior::BLOCK_SHUTDOWN});
557 } 467 }
558 // TODO(mmenke): Maybe merge BackendType and HttpCacheParams::Type? The 468 BackendType backend_type =
559 // first doesn't include in memory, so may require some work. 469 http_cache_params_.type == HttpCacheParams::DISK
560 BackendType backend_type = CACHE_BACKEND_DEFAULT; 470 ? CACHE_BACKEND_DEFAULT
561 switch (http_cache_params_.type) { 471 : CACHE_BACKEND_SIMPLE;
562 case HttpCacheParams::DISK:
563 backend_type = CACHE_BACKEND_DEFAULT;
564 break;
565 case HttpCacheParams::DISK_BLOCKFILE:
566 backend_type = CACHE_BACKEND_BLOCKFILE;
567 break;
568 case HttpCacheParams::DISK_SIMPLE:
569 backend_type = CACHE_BACKEND_SIMPLE;
570 break;
571 case HttpCacheParams::IN_MEMORY:
572 NOTREACHED();
573 break;
574 }
575 http_cache_backend.reset(new HttpCache::DefaultBackend( 472 http_cache_backend.reset(new HttpCache::DefaultBackend(
576 DISK_CACHE, backend_type, http_cache_params_.path, 473 DISK_CACHE, backend_type, http_cache_params_.path,
577 http_cache_params_.max_size, cache_thread_task_runner_)); 474 http_cache_params_.max_size, cache_thread_task_runner_));
578 } else { 475 } else {
579 http_cache_backend = 476 http_cache_backend =
580 HttpCache::DefaultBackend::InMemory(http_cache_params_.max_size); 477 HttpCache::DefaultBackend::InMemory(http_cache_params_.max_size);
581 } 478 }
582 479
583 http_transaction_factory.reset(new HttpCache( 480 http_transaction_factory.reset(new HttpCache(
584 storage->http_network_session(), std::move(http_cache_backend), true)); 481 storage->http_network_session(), std::move(http_cache_backend), true));
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
622 if (!url_request_interceptors_.empty()) { 519 if (!url_request_interceptors_.empty()) {
623 // Set up interceptors in the reverse order. 520 // Set up interceptors in the reverse order.
624 521
625 for (auto i = url_request_interceptors_.rbegin(); 522 for (auto i = url_request_interceptors_.rbegin();
626 i != url_request_interceptors_.rend(); ++i) { 523 i != url_request_interceptors_.rend(); ++i) {
627 top_job_factory.reset(new net::URLRequestInterceptingJobFactory( 524 top_job_factory.reset(new net::URLRequestInterceptingJobFactory(
628 std::move(top_job_factory), std::move(*i))); 525 std::move(top_job_factory), std::move(*i)));
629 } 526 }
630 url_request_interceptors_.clear(); 527 url_request_interceptors_.clear();
631 } 528 }
632 if (create_intercepting_job_factory_) {
633 top_job_factory = std::move(create_intercepting_job_factory_)
634 .Run(std::move(top_job_factory));
635 }
636 storage->set_job_factory(std::move(top_job_factory)); 529 storage->set_job_factory(std::move(top_job_factory));
637 530
638 #if BUILDFLAG(ENABLE_REPORTING) 531 #if BUILDFLAG(ENABLE_REPORTING)
639 if (reporting_policy_) { 532 if (reporting_policy_) {
640 storage->set_reporting_service( 533 storage->set_reporting_service(
641 ReportingService::Create(*reporting_policy_, context.get())); 534 ReportingService::Create(*reporting_policy_, context.get()));
642 } 535 }
643 #endif // BUILDFLAG(ENABLE_REPORTING) 536 #endif // BUILDFLAG(ENABLE_REPORTING)
644 537
645 return std::move(context); 538 return std::move(context);
646 } 539 }
647 540
648 std::unique_ptr<ProxyService> URLRequestContextBuilder::CreateProxyService( 541 std::unique_ptr<ProxyService> URLRequestContextBuilder::CreateProxyService(
649 std::unique_ptr<ProxyConfigService> proxy_config_service, 542 std::unique_ptr<ProxyConfigService> proxy_config_service,
650 URLRequestContext* url_request_context, 543 URLRequestContext* url_request_context,
651 HostResolver* host_resolver, 544 HostResolver* host_resolver,
652 NetworkDelegate* network_delegate, 545 NetworkDelegate* network_delegate,
653 NetLog* net_log) { 546 NetLog* net_log) {
654 return ProxyService::CreateUsingSystemProxyResolver( 547 return ProxyService::CreateUsingSystemProxyResolver(
655 std::move(proxy_config_service), net_log); 548 std::move(proxy_config_service), net_log);
656 } 549 }
657 550
658 } // namespace net 551 } // namespace net
OLDNEW
« no previous file with comments | « net/url_request/url_request_context_builder.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698