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

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

Issue 2977693003: Use TaskRunner passed in to URLRequestContextBuilder only for the cache (Closed)
Patch Set: Actually, don't need to set the thread everywhere 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
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 273 matching lines...) Expand 10 before | Expand all | Expand 10 after
284 void URLRequestContextBuilder::SetCookieAndChannelIdStores( 284 void URLRequestContextBuilder::SetCookieAndChannelIdStores(
285 std::unique_ptr<CookieStore> cookie_store, 285 std::unique_ptr<CookieStore> cookie_store,
286 std::unique_ptr<ChannelIDService> channel_id_service) { 286 std::unique_ptr<ChannelIDService> channel_id_service) {
287 cookie_store_set_by_client_ = true; 287 cookie_store_set_by_client_ = true;
288 // 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.
289 DCHECK(cookie_store || !channel_id_service); 289 DCHECK(cookie_store || !channel_id_service);
290 cookie_store_ = std::move(cookie_store); 290 cookie_store_ = std::move(cookie_store);
291 channel_id_service_ = std::move(channel_id_service); 291 channel_id_service_ = std::move(channel_id_service);
292 } 292 }
293 293
294 void URLRequestContextBuilder::SetFileTaskRunner( 294 void URLRequestContextBuilder::SetCacheThreadTaskRunner(
295 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner) { 295 scoped_refptr<base::SingleThreadTaskRunner> cache_thread_task_runner) {
296 file_task_runner_ = task_runner; 296 cache_thread_task_runner_ = std::move(cache_thread_task_runner);
297 } 297 }
298 298
299 void URLRequestContextBuilder::SetProtocolHandler( 299 void URLRequestContextBuilder::SetProtocolHandler(
300 const std::string& scheme, 300 const std::string& scheme,
301 std::unique_ptr<URLRequestJobFactory::ProtocolHandler> protocol_handler) { 301 std::unique_ptr<URLRequestJobFactory::ProtocolHandler> protocol_handler) {
302 DCHECK(protocol_handler); 302 DCHECK(protocol_handler);
303 protocol_handlers_[scheme] = std::move(protocol_handler); 303 protocol_handlers_[scheme] = std::move(protocol_handler);
304 } 304 }
305 305
306 void URLRequestContextBuilder::SetHttpAuthHandlerFactory( 306 void URLRequestContextBuilder::SetHttpAuthHandlerFactory(
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
376 std::unique_ptr<net::SdchManager>(new SdchManager())); 376 std::unique_ptr<net::SdchManager>(new SdchManager()));
377 } 377 }
378 378
379 storage->set_transport_security_state( 379 storage->set_transport_security_state(
380 base::MakeUnique<TransportSecurityState>()); 380 base::MakeUnique<TransportSecurityState>());
381 if (!transport_security_persister_path_.empty()) { 381 if (!transport_security_persister_path_.empty()) {
382 // Use a low priority because saving this should not block anything 382 // Use a low priority because saving this should not block anything
383 // 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,
384 // since it contains security-relevant information. 384 // since it contains security-relevant information.
385 scoped_refptr<base::SequencedTaskRunner> task_runner( 385 scoped_refptr<base::SequencedTaskRunner> task_runner(
386 GetFileSequencedTaskRunner( 386 base::CreateSequencedTaskRunnerWithTraits(
387 {base::MayBlock(), base::TaskPriority::BACKGROUND, 387 {base::MayBlock(), base::TaskPriority::BACKGROUND,
388 base::TaskShutdownBehavior::BLOCK_SHUTDOWN})); 388 base::TaskShutdownBehavior::BLOCK_SHUTDOWN}));
389 389
390 context->set_transport_security_persister( 390 context->set_transport_security_persister(
391 base::WrapUnique<TransportSecurityPersister>( 391 base::WrapUnique<TransportSecurityPersister>(
392 new TransportSecurityPersister(context->transport_security_state(), 392 new TransportSecurityPersister(context->transport_security_state(),
393 transport_security_persister_path_, 393 transport_security_persister_path_,
394 task_runner, false))); 394 task_runner, false)));
395 } 395 }
396 396
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
452 storage->set_proxy_delegate(std::move(proxy_delegate_)); 452 storage->set_proxy_delegate(std::move(proxy_delegate_));
453 } 453 }
454 454
455 storage->set_http_network_session(base::MakeUnique<HttpNetworkSession>( 455 storage->set_http_network_session(base::MakeUnique<HttpNetworkSession>(
456 http_network_session_params_, network_session_context)); 456 http_network_session_params_, network_session_context));
457 457
458 std::unique_ptr<HttpTransactionFactory> http_transaction_factory; 458 std::unique_ptr<HttpTransactionFactory> http_transaction_factory;
459 if (http_cache_enabled_) { 459 if (http_cache_enabled_) {
460 std::unique_ptr<HttpCache::BackendFactory> http_cache_backend; 460 std::unique_ptr<HttpCache::BackendFactory> http_cache_backend;
461 if (http_cache_params_.type != HttpCacheParams::IN_MEMORY) { 461 if (http_cache_params_.type != HttpCacheParams::IN_MEMORY) {
462 if (!cache_thread_task_runner_) {
463 cache_thread_task_runner_ =
464 base::CreateSingleThreadTaskRunnerWithTraits(
465 {base::MayBlock(), base::TaskPriority::USER_BLOCKING,
466 base::TaskShutdownBehavior::BLOCK_SHUTDOWN});
467 }
462 BackendType backend_type = 468 BackendType backend_type =
463 http_cache_params_.type == HttpCacheParams::DISK 469 http_cache_params_.type == HttpCacheParams::DISK
464 ? CACHE_BACKEND_DEFAULT 470 ? CACHE_BACKEND_DEFAULT
465 : CACHE_BACKEND_SIMPLE; 471 : CACHE_BACKEND_SIMPLE;
466 http_cache_backend.reset(new HttpCache::DefaultBackend( 472 http_cache_backend.reset(new HttpCache::DefaultBackend(
467 DISK_CACHE, backend_type, http_cache_params_.path, 473 DISK_CACHE, backend_type, http_cache_params_.path,
468 http_cache_params_.max_size, 474 http_cache_params_.max_size, cache_thread_task_runner_));
469 GetFileSingleThreadTaskRunner(
470 {base::MayBlock(), base::TaskPriority::USER_BLOCKING,
471 base::TaskShutdownBehavior::BLOCK_SHUTDOWN})));
472 } else { 475 } else {
473 http_cache_backend = 476 http_cache_backend =
474 HttpCache::DefaultBackend::InMemory(http_cache_params_.max_size); 477 HttpCache::DefaultBackend::InMemory(http_cache_params_.max_size);
475 } 478 }
476 479
477 http_transaction_factory.reset(new HttpCache( 480 http_transaction_factory.reset(new HttpCache(
478 storage->http_network_session(), std::move(http_cache_backend), true)); 481 storage->http_network_session(), std::move(http_cache_backend), true));
479 } else { 482 } else {
480 http_transaction_factory.reset( 483 http_transaction_factory.reset(
481 new HttpNetworkLayer(storage->http_network_session())); 484 new HttpNetworkLayer(storage->http_network_session()));
(...skipping 10 matching lines...) Expand all
492 protocol_handlers_.clear(); 495 protocol_handlers_.clear();
493 496
494 if (data_enabled_) 497 if (data_enabled_)
495 job_factory->SetProtocolHandler(url::kDataScheme, 498 job_factory->SetProtocolHandler(url::kDataScheme,
496 base::WrapUnique(new DataProtocolHandler)); 499 base::WrapUnique(new DataProtocolHandler));
497 500
498 #if !BUILDFLAG(DISABLE_FILE_SUPPORT) 501 #if !BUILDFLAG(DISABLE_FILE_SUPPORT)
499 if (file_enabled_) { 502 if (file_enabled_) {
500 job_factory->SetProtocolHandler( 503 job_factory->SetProtocolHandler(
501 url::kFileScheme, 504 url::kFileScheme,
502 base::MakeUnique<FileProtocolHandler>(GetFileTaskRunner( 505 base::MakeUnique<FileProtocolHandler>(base::CreateTaskRunnerWithTraits(
503 {base::MayBlock(), base::TaskPriority::USER_BLOCKING, 506 {base::MayBlock(), base::TaskPriority::USER_BLOCKING,
504 base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN}))); 507 base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN})));
505 } 508 }
506 #endif // !BUILDFLAG(DISABLE_FILE_SUPPORT) 509 #endif // !BUILDFLAG(DISABLE_FILE_SUPPORT)
507 510
508 #if !BUILDFLAG(DISABLE_FTP_SUPPORT) 511 #if !BUILDFLAG(DISABLE_FTP_SUPPORT)
509 if (ftp_enabled_) { 512 if (ftp_enabled_) {
510 job_factory->SetProtocolHandler( 513 job_factory->SetProtocolHandler(
511 url::kFtpScheme, FtpProtocolHandler::Create(context->host_resolver())); 514 url::kFtpScheme, FtpProtocolHandler::Create(context->host_resolver()));
512 } 515 }
(...skipping 25 matching lines...) Expand all
538 std::unique_ptr<ProxyService> URLRequestContextBuilder::CreateProxyService( 541 std::unique_ptr<ProxyService> URLRequestContextBuilder::CreateProxyService(
539 std::unique_ptr<ProxyConfigService> proxy_config_service, 542 std::unique_ptr<ProxyConfigService> proxy_config_service,
540 URLRequestContext* url_request_context, 543 URLRequestContext* url_request_context,
541 HostResolver* host_resolver, 544 HostResolver* host_resolver,
542 NetworkDelegate* network_delegate, 545 NetworkDelegate* network_delegate,
543 NetLog* net_log) { 546 NetLog* net_log) {
544 return ProxyService::CreateUsingSystemProxyResolver( 547 return ProxyService::CreateUsingSystemProxyResolver(
545 std::move(proxy_config_service), net_log); 548 std::move(proxy_config_service), net_log);
546 } 549 }
547 550
548 scoped_refptr<base::TaskRunner> URLRequestContextBuilder::GetFileTaskRunner(
549 const base::TaskTraits& traits) {
550 if (file_task_runner_)
551 return file_task_runner_;
552 return base::CreateTaskRunnerWithTraits(traits);
553 }
554
555 scoped_refptr<base::SequencedTaskRunner>
556 URLRequestContextBuilder::GetFileSequencedTaskRunner(
557 const base::TaskTraits& traits) {
558 if (file_task_runner_)
559 return file_task_runner_;
560 return base::CreateSequencedTaskRunnerWithTraits(traits);
561 }
562
563 scoped_refptr<base::SingleThreadTaskRunner>
564 URLRequestContextBuilder::GetFileSingleThreadTaskRunner(
565 const base::TaskTraits& traits) {
566 if (file_task_runner_)
567 return file_task_runner_;
568 return base::CreateSingleThreadTaskRunnerWithTraits(traits);
569 }
570
571 } // namespace net 551 } // namespace net
OLDNEW
« no previous file with comments | « net/url_request/url_request_context_builder.h ('k') | remoting/base/url_request_context_getter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698