summaryrefslogtreecommitdiffstats
path: root/chrome/browser/profiles
diff options
context:
space:
mode:
authorttuttle <ttuttle@chromium.org>2014-08-25 12:38:03 -0700
committerCommit bot <commit-bot@chromium.org>2014-08-25 19:39:40 +0000
commitfa8427f940699df3073889af4ab20a1fb2b9ed37 (patch)
treea337eee618f603863bddce665f9aebc1582f6db8 /chrome/browser/profiles
parent07884070ecfe2e6ad00a5493dfdc4df891bbd142 (diff)
downloadchromium_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.cc8
-rw-r--r--chrome/browser/profiles/profile_impl.h2
-rw-r--r--chrome/browser/profiles/profile_impl_io_data.cc16
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();