Chromium Code Reviews| Index: chrome/browser/profiles/profile_impl_io_data.cc |
| diff --git a/chrome/browser/profiles/profile_impl_io_data.cc b/chrome/browser/profiles/profile_impl_io_data.cc |
| index b49d8075939e9c4bd950fb3b872d0f93d9e7a99b..5af118651a2aaa4c21d25a03237586d558a741d4 100644 |
| --- a/chrome/browser/profiles/profile_impl_io_data.cc |
| +++ b/chrome/browser/profiles/profile_impl_io_data.cc |
| @@ -7,6 +7,7 @@ |
| #include "base/bind.h" |
| #include "base/command_line.h" |
| #include "base/logging.h" |
| +#include "base/memory/scoped_ptr.h" |
| #include "base/metrics/field_trial.h" |
| #include "base/prefs/pref_member.h" |
| #include "base/prefs/pref_service.h" |
| @@ -16,6 +17,7 @@ |
| #include "base/strings/string_util.h" |
| #include "base/threading/sequenced_worker_pool.h" |
| #include "base/threading/worker_pool.h" |
| +#include "chrome/browser/browser_process.h" |
| #include "chrome/browser/chrome_notification_types.h" |
| #include "chrome/browser/chromeos/profiles/profile_helper.h" |
| #include "chrome/browser/custom_handlers/protocol_handler_registry.h" |
| @@ -28,18 +30,19 @@ |
| #include "chrome/browser/net/http_server_properties_manager_factory.h" |
| #include "chrome/browser/net/predictor.h" |
| #include "chrome/browser/net/quota_policy_channel_id_store.h" |
| +#include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_io_data.h" |
| #include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings.h" |
| +#include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings_factory.h" |
| #include "chrome/browser/profiles/profile.h" |
| #include "chrome/common/chrome_constants.h" |
| #include "chrome/common/chrome_switches.h" |
| #include "chrome/common/pref_names.h" |
| #include "chrome/common/url_constants.h" |
| -#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_auth_request_handler.h" |
| #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_configurator.h" |
| -#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_interceptor.h" |
| -#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_network_delegate.h" |
| +#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_io_data.h" |
| +#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_prefs.h" |
| +#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_settings.h" |
| #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_statistics_prefs.h" |
| -#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_usage_stats.h" |
| #include "components/data_reduction_proxy/core/common/data_reduction_proxy_params.h" |
| #include "components/data_reduction_proxy/core/common/data_reduction_proxy_pref_names.h" |
| #include "components/domain_reliability/monitor.h" |
| @@ -90,7 +93,6 @@ net::BackendType ChooseCacheBackendType() { |
| } // namespace |
| using content::BrowserThread; |
| -using data_reduction_proxy::DataReductionProxyParams; |
| ProfileImplIOData::Handle::Handle(Profile* profile) |
| : io_data_(new ProfileImplIOData), |
| @@ -102,8 +104,6 @@ ProfileImplIOData::Handle::Handle(Profile* profile) |
| ProfileImplIOData::Handle::~Handle() { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| - io_data_->data_reduction_proxy_statistics_prefs()->WritePrefs(); |
| - |
| if (io_data_->predictor_ != NULL) { |
| // io_data_->predictor_ might be NULL if Init() was never called |
| // (i.e. we shut down before ProfileImpl::DoFinalInit() got called). |
| @@ -119,7 +119,7 @@ ProfileImplIOData::Handle::~Handle() { |
| if (io_data_->http_server_properties_manager_) |
| io_data_->http_server_properties_manager_->ShutdownOnPrefThread(); |
| - io_data_->data_reduction_proxy_enabled_.Destroy(); |
| + io_data_->data_reduction_proxy_io_data()->ShutdownOnUIThread(); |
| io_data_->ShutdownOnUIThread(GetAllContextGetters().Pass()); |
| } |
| @@ -137,16 +137,7 @@ void ProfileImplIOData::Handle::Init( |
| content::CookieStoreConfig::SessionCookieMode session_cookie_mode, |
| storage::SpecialStoragePolicy* special_storage_policy, |
| scoped_ptr<domain_reliability::DomainReliabilityMonitor> |
| - domain_reliability_monitor, |
| - const base::Callback<void(bool)>& data_reduction_proxy_unavailable, |
| - scoped_ptr<data_reduction_proxy::DataReductionProxyConfigurator> |
| - data_reduction_proxy_configurator, |
| - scoped_ptr<data_reduction_proxy::DataReductionProxyParams> |
| - data_reduction_proxy_params, |
| - scoped_ptr<data_reduction_proxy::DataReductionProxyStatisticsPrefs> |
| - data_reduction_proxy_statistics_prefs, |
| - scoped_ptr<data_reduction_proxy::DataReductionProxyEventStore> |
| - data_reduction_proxy_event_store) { |
| + domain_reliability_monitor) { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| DCHECK(!io_data_->lazy_params_); |
| DCHECK(predictor); |
| @@ -179,15 +170,20 @@ void ProfileImplIOData::Handle::Init( |
| if (io_data_->domain_reliability_monitor_) |
| io_data_->domain_reliability_monitor_->MoveToNetworkThread(); |
| - io_data_->set_data_reduction_proxy_unavailable_callback( |
| - data_reduction_proxy_unavailable); |
| - io_data_->set_data_reduction_proxy_configurator( |
| - data_reduction_proxy_configurator.Pass()); |
| - io_data_->set_data_reduction_proxy_params(data_reduction_proxy_params.Pass()); |
| - io_data_->set_data_reduction_proxy_statistics_prefs( |
| - data_reduction_proxy_statistics_prefs.Pass()); |
| - io_data_->set_data_reduction_proxy_event_store( |
| - data_reduction_proxy_event_store.Pass()); |
| + ChromeNetLog* const net_log = g_browser_process->io_thread()->net_log(); |
|
mmenke
2015/01/23 20:48:54
optional: Don't think const is necessary here.
bengr
2015/01/23 22:33:42
Leaving as is for now, because this is how the cod
|
| + |
| + io_data_->set_data_reduction_proxy_io_data( |
| + CreateDataReductionProxyChromeIOData( |
| + net_log, profile_, profile_->GetPrefs(), |
| + BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO), |
| + BrowserThread::GetMessageLoopProxyForThread( |
| + BrowserThread::UI)).Pass()); |
| + |
| + DataReductionProxyChromeSettingsFactory::GetForBrowserContext(profile_)-> |
| + InitDataReductionProxySettings(io_data_->data_reduction_proxy_io_data(), |
| + profile_->GetPrefs(), |
| + g_browser_process->local_state(), |
| + profile_->GetRequestContext()); |
| } |
| content::ResourceContext* |
| @@ -367,10 +363,6 @@ void ProfileImplIOData::Handle::LazyInitialize() const { |
| io_data_->safe_browsing_enabled()->MoveToThread( |
| BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO)); |
| #endif |
| - io_data_->data_reduction_proxy_enabled_.Init( |
| - data_reduction_proxy::prefs::kDataReductionProxyEnabled, pref_service); |
| - io_data_->data_reduction_proxy_enabled_.MoveToThread( |
| - BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO)); |
| io_data_->InitializeOnUIThread(profile_); |
| } |
| @@ -458,52 +450,6 @@ void ProfileImplIOData::InitializeInternal( |
| FROM_HERE_WITH_EXPLICIT_FUNCTION( |
| "436671 ProfileImplIOData::InitializeInternal2")); |
| - set_data_reduction_proxy_auth_request_handler( |
| - scoped_ptr<data_reduction_proxy::DataReductionProxyAuthRequestHandler> |
| - (new data_reduction_proxy::DataReductionProxyAuthRequestHandler( |
| - DataReductionProxyChromeSettings::GetClient(), |
| - data_reduction_proxy_params(), |
| - BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO)))); |
| - set_data_reduction_proxy_usage_stats( |
| - scoped_ptr<data_reduction_proxy::DataReductionProxyUsageStats> |
| - (new data_reduction_proxy::DataReductionProxyUsageStats( |
| - data_reduction_proxy_params(), |
| - BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI) |
| - .get()))); |
| - data_reduction_proxy_usage_stats()->set_unavailable_callback( |
| - data_reduction_proxy_unavailable_callback()); |
| - |
| - // TODO(vadimt): Remove ScopedTracker below once crbug.com/436671 is fixed. |
| - tracked_objects::ScopedTracker tracking_profile3( |
| - FROM_HERE_WITH_EXPLICIT_FUNCTION( |
| - "436671 ProfileImplIOData::InitializeInternal3")); |
| - |
| - scoped_ptr<data_reduction_proxy::DataReductionProxyNetworkDelegate> |
| - data_reduction_proxy_network_delegate( |
| - new data_reduction_proxy::DataReductionProxyNetworkDelegate( |
| - chrome_network_delegate.Pass(), |
| - data_reduction_proxy_params(), |
| - data_reduction_proxy_auth_request_handler(), |
| - base::Bind( |
| - &data_reduction_proxy::DataReductionProxyConfigurator:: |
| - GetProxyConfigOnIOThread, |
| - base::Unretained(data_reduction_proxy_configurator())))); |
| - data_reduction_proxy_network_delegate->InitProxyConfigOverrider( |
| - base::Bind(data_reduction_proxy::OnResolveProxyHandler)); |
| - data_reduction_proxy_network_delegate->InitStatisticsPrefsAndUMA( |
| - BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), |
| - data_reduction_proxy_statistics_prefs(), |
| - &data_reduction_proxy_enabled_, |
| - data_reduction_proxy_usage_stats()); |
| - network_delegate_ = data_reduction_proxy_network_delegate.Pass(); |
| - |
| - // Initialize context members. |
| - |
| - // TODO(vadimt): Remove ScopedTracker below once crbug.com/436671 is fixed. |
| - tracked_objects::ScopedTracker tracking_profile4( |
| - FROM_HERE_WITH_EXPLICIT_FUNCTION( |
| - "436671 ProfileImplIOData::InitializeInternal4")); |
| - |
| ApplyProfileParamsToContext(main_context); |
| if (http_server_properties_manager_) |
| @@ -513,6 +459,9 @@ void ProfileImplIOData::InitializeInternal( |
| main_context->set_net_log(io_thread->net_log()); |
| + network_delegate_ = data_reduction_proxy_io_data()->CreateNetworkDelegate( |
| + chrome_network_delegate.Pass(), true).Pass(); |
| + |
| main_context->set_network_delegate(network_delegate_.get()); |
| main_context->set_http_server_properties(http_server_properties()); |
| @@ -640,10 +589,7 @@ void ProfileImplIOData::InitializeInternal( |
| // as possible. |
| request_interceptors.insert( |
| request_interceptors.begin(), |
| - new data_reduction_proxy::DataReductionProxyInterceptor( |
| - data_reduction_proxy_params(), |
| - data_reduction_proxy_usage_stats(), |
| - data_reduction_proxy_event_store())); |
| + data_reduction_proxy_io_data()->CreateInterceptor().release()); |
| main_job_factory_ = SetUpJobFactoryDefaults( |
| main_job_factory.Pass(), |
| request_interceptors.Pass(), |
| @@ -797,10 +743,7 @@ net::URLRequestContext* ProfileImplIOData::InitializeAppRequestContext( |
| // as possible. |
| request_interceptors.insert( |
| request_interceptors.begin(), |
| - new data_reduction_proxy::DataReductionProxyInterceptor( |
| - data_reduction_proxy_params(), |
| - data_reduction_proxy_usage_stats(), |
| - data_reduction_proxy_event_store())); |
| + data_reduction_proxy_io_data()->CreateInterceptor().release()); |
| scoped_ptr<net::URLRequestJobFactory> top_job_factory( |
| SetUpJobFactoryDefaults(job_factory.Pass(), |
| request_interceptors.Pass(), |
| @@ -910,9 +853,3 @@ void ProfileImplIOData::ClearNetworkingHistorySinceOnIOThread( |
| DCHECK(http_server_properties_manager_); |
| http_server_properties_manager_->Clear(completion); |
| } |
| - |
| -bool ProfileImplIOData::IsDataReductionProxyEnabled() const { |
| - return data_reduction_proxy_enabled_.GetValue() || |
| - base::CommandLine::ForCurrentProcess()->HasSwitch( |
| - data_reduction_proxy::switches::kEnableDataReductionProxy); |
| -} |