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 "chrome/browser/profiles/profile_impl_io_data.h" | 5 #include "chrome/browser/profiles/profile_impl_io_data.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
9 #include "base/file_util.h" | 9 #include "base/file_util.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
11 #include "base/stl_util.h" | 11 #include "base/stl_util.h" |
12 #include "base/threading/worker_pool.h" | 12 #include "base/threading/worker_pool.h" |
13 #include "chrome/browser/io_thread.h" | 13 #include "chrome/browser/io_thread.h" |
14 #include "chrome/browser/net/chrome_net_log.h" | 14 #include "chrome/browser/net/chrome_net_log.h" |
15 #include "chrome/browser/net/chrome_network_delegate.h" | 15 #include "chrome/browser/net/chrome_network_delegate.h" |
16 #include "chrome/browser/net/connect_interceptor.h" | 16 #include "chrome/browser/net/connect_interceptor.h" |
17 #include "chrome/browser/net/http_server_properties_manager.h" | 17 #include "chrome/browser/net/http_server_properties_manager.h" |
18 #include "chrome/browser/net/predictor.h" | 18 #include "chrome/browser/net/predictor.h" |
| 19 #include "chrome/browser/net/resource_prefetch_interceptor.h" |
19 #include "chrome/browser/net/sqlite_persistent_cookie_store.h" | 20 #include "chrome/browser/net/sqlite_persistent_cookie_store.h" |
20 #include "chrome/browser/net/sqlite_server_bound_cert_store.h" | 21 #include "chrome/browser/net/sqlite_server_bound_cert_store.h" |
| 22 #include "chrome/browser/predictors/resource_prefetch_predictor.h" |
| 23 #include "chrome/browser/predictors/resource_prefetch_predictor_factory.h" |
21 #include "chrome/browser/prefs/pref_member.h" | 24 #include "chrome/browser/prefs/pref_member.h" |
22 #include "chrome/browser/profiles/profile.h" | 25 #include "chrome/browser/profiles/profile.h" |
23 #include "chrome/common/chrome_constants.h" | 26 #include "chrome/common/chrome_constants.h" |
24 #include "chrome/common/chrome_switches.h" | 27 #include "chrome/common/chrome_switches.h" |
25 #include "chrome/common/pref_names.h" | 28 #include "chrome/common/pref_names.h" |
26 #include "chrome/common/url_constants.h" | 29 #include "chrome/common/url_constants.h" |
27 #include "content/public/browser/browser_thread.h" | 30 #include "content/public/browser/browser_thread.h" |
28 #include "content/public/browser/resource_context.h" | 31 #include "content/public/browser/resource_context.h" |
29 #include "net/base/server_bound_cert_service.h" | 32 #include "net/base/server_bound_cert_service.h" |
30 #include "net/ftp/ftp_network_layer.h" | 33 #include "net/ftp/ftp_network_layer.h" |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
97 lazy_params->media_cache_max_size = media_cache_max_size; | 100 lazy_params->media_cache_max_size = media_cache_max_size; |
98 lazy_params->extensions_cookie_path = extensions_cookie_path; | 101 lazy_params->extensions_cookie_path = extensions_cookie_path; |
99 lazy_params->restore_old_session_cookies = restore_old_session_cookies; | 102 lazy_params->restore_old_session_cookies = restore_old_session_cookies; |
100 | 103 |
101 io_data_->lazy_params_.reset(lazy_params); | 104 io_data_->lazy_params_.reset(lazy_params); |
102 | 105 |
103 // Keep track of isolated app path separately so we can use it on demand. | 106 // Keep track of isolated app path separately so we can use it on demand. |
104 io_data_->app_path_ = app_path; | 107 io_data_->app_path_ = app_path; |
105 | 108 |
106 io_data_->predictor_.reset(predictor); | 109 io_data_->predictor_.reset(predictor); |
| 110 io_data_->resource_prefetch_predictor_ = |
| 111 predictors::ResourcePrefetchPredictorFactory::GetForProfile(profile_); |
107 | 112 |
108 if (!main_request_context_getter_) { | 113 if (!main_request_context_getter_) { |
109 main_request_context_getter_ = | 114 main_request_context_getter_ = |
110 ChromeURLRequestContextGetter::CreateOriginal( | 115 ChromeURLRequestContextGetter::CreateOriginal( |
111 profile_, io_data_); | 116 profile_, io_data_); |
112 } | 117 } |
113 io_data_->predictor_->InitNetworkPredictor(profile_->GetPrefs(), | 118 io_data_->predictor_->InitNetworkPredictor(profile_->GetPrefs(), |
114 local_state, | 119 local_state, |
115 io_thread, | 120 io_thread, |
116 main_request_context_getter_); | 121 main_request_context_getter_); |
(...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
439 main_context->set_chrome_url_data_manager_backend( | 444 main_context->set_chrome_url_data_manager_backend( |
440 chrome_url_data_manager_backend()); | 445 chrome_url_data_manager_backend()); |
441 | 446 |
442 main_context->set_job_factory(job_factory()); | 447 main_context->set_job_factory(job_factory()); |
443 media_request_context_->set_job_factory(job_factory()); | 448 media_request_context_->set_job_factory(job_factory()); |
444 extensions_context->set_job_factory(job_factory()); | 449 extensions_context->set_job_factory(job_factory()); |
445 | 450 |
446 job_factory()->AddInterceptor( | 451 job_factory()->AddInterceptor( |
447 new chrome_browser_net::ConnectInterceptor(predictor_.get())); | 452 new chrome_browser_net::ConnectInterceptor(predictor_.get())); |
448 | 453 |
| 454 if (resource_prefetch_predictor_) |
| 455 job_factory()->AddInterceptor( |
| 456 new chrome_browser_net::ResourcePrefetchInterceptor( |
| 457 resource_prefetch_predictor_)); |
| 458 |
449 lazy_params_.reset(); | 459 lazy_params_.reset(); |
450 } | 460 } |
451 | 461 |
452 ChromeURLRequestContext* | 462 ChromeURLRequestContext* |
453 ProfileImplIOData::InitializeAppRequestContext( | 463 ProfileImplIOData::InitializeAppRequestContext( |
454 ChromeURLRequestContext* main_context, | 464 ChromeURLRequestContext* main_context, |
455 const std::string& app_id) const { | 465 const std::string& app_id) const { |
456 AppRequestContext* context = new AppRequestContext; | 466 AppRequestContext* context = new AppRequestContext; |
457 | 467 |
458 // Copy most state from the main context. | 468 // Copy most state from the main context. |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
531 void ProfileImplIOData::ClearNetworkingHistorySinceOnIOThread( | 541 void ProfileImplIOData::ClearNetworkingHistorySinceOnIOThread( |
532 base::Time time) { | 542 base::Time time) { |
533 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 543 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
534 LazyInitialize(); | 544 LazyInitialize(); |
535 | 545 |
536 DCHECK(transport_security_state()); | 546 DCHECK(transport_security_state()); |
537 transport_security_state()->DeleteSince(time); | 547 transport_security_state()->DeleteSince(time); |
538 DCHECK(http_server_properties_manager()); | 548 DCHECK(http_server_properties_manager()); |
539 http_server_properties_manager()->Clear(); | 549 http_server_properties_manager()->Clear(); |
540 } | 550 } |
OLD | NEW |