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 014b6a888dab3094253f522d672c4c8068433adb..3f76e80eea2558a52c7f088bb43a10182f12e46a 100644 |
--- a/chrome/browser/profiles/profile_impl_io_data.cc |
+++ b/chrome/browser/profiles/profile_impl_io_data.cc |
@@ -15,6 +15,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" |
@@ -116,6 +117,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 +172,12 @@ 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_->InitReportingPref( |
+ g_browser_process->local_state(), |
+ prefs::kMetricsReportingEnabled, |
+ BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO)); |
+ } |
#if defined(SPDY_PROXY_AUTH_ORIGIN) |
io_data_->data_reduction_proxy_unavailable_callback_ = |
@@ -597,7 +607,7 @@ void ProfileImplIOData::InitializeInternal( |
details)); |
if (domain_reliability_monitor_) { |
- domain_reliability_monitor_->Init( |
+ domain_reliability_monitor_->InitURLRequestContext( |
main_context, |
BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO)); |
domain_reliability_monitor_->AddBakedInConfigs(); |