diff options
author | ttuttle <ttuttle@chromium.org> | 2014-08-25 12:38:03 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-08-25 19:39:40 +0000 |
commit | fa8427f940699df3073889af4ab20a1fb2b9ed37 (patch) | |
tree | a337eee618f603863bddce665f9aebc1582f6db8 /chrome/browser/profiles | |
parent | 07884070ecfe2e6ad00a5493dfdc4df891bbd142 (diff) | |
download | chromium_src-fa8427f940699df3073889af4ab20a1fb2b9ed37.zip chromium_src-fa8427f940699df3073889af4ab20a1fb2b9ed37.tar.gz chromium_src-fa8427f940699df3073889af4ab20a1fb2b9ed37.tar.bz2 |
Domain Reliability: Don't upload when metrics reporting is off.
Tie Domain Reliability uploads to metrics reporting -- halt uploads when
reporting is turned off. (Keep recording, since we will eventually be able to
access reports through JavaScript as well.)
BUG=407170
Review URL: https://codereview.chromium.org/491753003
Cr-Commit-Position: refs/heads/master@{#291740}
Diffstat (limited to 'chrome/browser/profiles')
-rw-r--r-- | chrome/browser/profiles/profile_impl.cc | 8 | ||||
-rw-r--r-- | chrome/browser/profiles/profile_impl.h | 2 | ||||
-rw-r--r-- | chrome/browser/profiles/profile_impl_io_data.cc | 16 |
3 files changed, 16 insertions, 10 deletions
diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc index bfe1a9b..f032f5c 100644 --- a/chrome/browser/profiles/profile_impl.cc +++ b/chrome/browser/profiles/profile_impl.cc @@ -691,7 +691,7 @@ void ProfileImpl::DoFinalInit() { cache_max_size, media_cache_path, media_cache_max_size, extensions_cookie_path, GetPath(), infinite_cache_path, predictor_, session_cookie_mode, GetSpecialStoragePolicy(), - CreateDomainReliabilityMonitor(), + CreateDomainReliabilityMonitor(local_state), data_reduction_proxy_unavailable, chrome_configurator.Pass(), data_reduction_proxy_params.Pass()); @@ -1450,7 +1450,7 @@ PrefProxyConfigTracker* ProfileImpl::CreateProxyConfigTracker() { } scoped_ptr<domain_reliability::DomainReliabilityMonitor> -ProfileImpl::CreateDomainReliabilityMonitor() { +ProfileImpl::CreateDomainReliabilityMonitor(PrefService* local_state) { domain_reliability::DomainReliabilityService* service = domain_reliability::DomainReliabilityServiceFactory::GetInstance()-> GetForBrowserContext(this); @@ -1458,5 +1458,7 @@ ProfileImpl::CreateDomainReliabilityMonitor() { return scoped_ptr<domain_reliability::DomainReliabilityMonitor>(); return service->CreateMonitor( - BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO)); + BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO), + local_state, + prefs::kMetricsReportingEnabled); } diff --git a/chrome/browser/profiles/profile_impl.h b/chrome/browser/profiles/profile_impl.h index 907b474..6545b38 100644 --- a/chrome/browser/profiles/profile_impl.h +++ b/chrome/browser/profiles/profile_impl.h @@ -206,7 +206,7 @@ class ProfileImpl : public Profile { PrefProxyConfigTracker* CreateProxyConfigTracker(); scoped_ptr<domain_reliability::DomainReliabilityMonitor> - CreateDomainReliabilityMonitor(); + CreateDomainReliabilityMonitor(PrefService* local_state); scoped_ptr<content::HostZoomMap::Subscription> zoom_subscription_; PrefChangeRegistrar pref_change_registrar_; diff --git a/chrome/browser/profiles/profile_impl_io_data.cc b/chrome/browser/profiles/profile_impl_io_data.cc index 11a6fae..a8ec6ee 100644 --- a/chrome/browser/profiles/profile_impl_io_data.cc +++ b/chrome/browser/profiles/profile_impl_io_data.cc @@ -116,6 +116,9 @@ ProfileImplIOData::Handle::~Handle() { if (io_data_->http_server_properties_manager_) io_data_->http_server_properties_manager_->ShutdownOnPrefThread(); + if (io_data_->domain_reliability_monitor_) + io_data_->domain_reliability_monitor_->DestroyReportingPref(); + io_data_->ShutdownOnUIThread(GetAllContextGetters().Pass()); } @@ -168,6 +171,8 @@ void ProfileImplIOData::Handle::Init( io_data_->domain_reliability_monitor_ = domain_reliability_monitor.Pass(); io_data_->InitializeMetricsEnabledStateOnUIThread(); + if (io_data_->domain_reliability_monitor_) + io_data_->domain_reliability_monitor_->MoveToNetworkThread(); #if defined(SPDY_PROXY_AUTH_ORIGIN) io_data_->data_reduction_proxy_unavailable_callback_ = @@ -597,12 +602,11 @@ void ProfileImplIOData::InitializeInternal( details)); if (domain_reliability_monitor_) { - domain_reliability_monitor_->Init( - main_context, - BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO)); - domain_reliability_monitor_->AddBakedInConfigs(); - network_delegate()->set_domain_reliability_monitor( - domain_reliability_monitor_.get()); + domain_reliability::DomainReliabilityMonitor* monitor = + domain_reliability_monitor_.get(); + monitor->InitURLRequestContext(main_context); + monitor->AddBakedInConfigs(); + network_delegate()->set_domain_reliability_monitor(monitor); } lazy_params_.reset(); |