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 1c4cf2eecc8a9d89d22d6b1868d546699cac1b0c..8124d8d889e6e9c0e040a12465c4a4d5c35aa67c 100644 |
--- a/chrome/browser/domain_reliability/service_factory.cc |
+++ b/chrome/browser/domain_reliability/service_factory.cc |
@@ -22,8 +22,15 @@ namespace domain_reliability { |
namespace { |
+// If Domain Reliability is enabled in the absence of a flag or field trial. |
+const bool kDefaultEnabled = true; |
+ |
+// The name and value of the field trial to turn Domain Reliability on. |
+const char kFieldTrialName[] = "DomRel-Enable"; |
+const char kFieldTrialValueEnable[] = "enable"; |
+ |
// Identifies Chrome as the source of Domain Reliability uploads it sends. |
-const char* kDomainReliabilityUploadReporterString = "chrome"; |
+const char kUploadReporterString[] = "chrome"; |
bool IsDomainReliabilityMonitoringEnabled() { |
base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); |
@@ -31,7 +38,13 @@ bool IsDomainReliabilityMonitoringEnabled() { |
return false; |
if (command_line->HasSwitch(switches::kEnableDomainReliability)) |
return true; |
- return base::FieldTrialList::FindFullName("DomRel-Enable") == "enable"; |
+ |
+ if (base::FieldTrialList::TrialExists(kFieldTrialName)) { |
+ std::string value = base::FieldTrialList::FindFullName(kFieldTrialName); |
+ return value == kFieldTrialValueEnable; |
+ } |
+ |
+ return kDefaultEnabled; |
} |
bool IsMetricsReportingEnabled() { |
@@ -81,8 +94,7 @@ KeyedService* DomainReliabilityServiceFactory::BuildServiceInstanceFor( |
if (!IsMetricsReportingEnabled()) |
return NULL; |
- return DomainReliabilityService::Create( |
- kDomainReliabilityUploadReporterString); |
+ return DomainReliabilityService::Create(kUploadReporterString); |
} |
} // namespace domain_reliability |