Index: chrome/browser/domain_reliability/service_factory.cc |
diff --git a/chrome/browser/domain_reliability/service_factory.cc b/chrome/browser/domain_reliability/service_factory.cc |
index 0809074b7def79e2dd450288d97484ca1b6aa194..17478c18d991f02ba792974433f9a5598c661f4d 100644 |
--- a/chrome/browser/domain_reliability/service_factory.cc |
+++ b/chrome/browser/domain_reliability/service_factory.cc |
@@ -6,7 +6,10 @@ |
#include "base/command_line.h" |
#include "base/metrics/field_trial.h" |
+#include "base/prefs/pref_service.h" |
+#include "chrome/browser/browser_process.h" |
#include "chrome/common/chrome_switches.h" |
+#include "chrome/common/pref_names.h" |
#include "components/domain_reliability/service.h" |
#include "components/keyed_service/content/browser_context_dependency_manager.h" |
#include "content/public/browser/browser_context.h" |
@@ -47,7 +50,9 @@ DomainReliabilityServiceFactory::GetInstance() { |
DomainReliabilityServiceFactory::DomainReliabilityServiceFactory() |
: BrowserContextKeyedServiceFactory( |
"DomainReliabilityService", |
- BrowserContextDependencyManager::GetInstance()) {} |
+ BrowserContextDependencyManager::GetInstance()), |
+ reporting_enabled_(g_browser_process->local_state()->GetBoolean( |
+ prefs::kMetricsReportingEnabled)) {} |
DomainReliabilityServiceFactory::~DomainReliabilityServiceFactory() {} |
@@ -56,6 +61,9 @@ KeyedService* DomainReliabilityServiceFactory::BuildServiceInstanceFor( |
if (!IsDomainReliabilityMonitoringEnabled()) |
return NULL; |
+ if (!reporting_enabled_) |
+ return NULL; |
+ |
return DomainReliabilityService::Create( |
kDomainReliabilityUploadReporterString); |
} |