Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(89)

Side by Side Diff: chrome/browser/domain_reliability/service_factory.cc

Issue 525303004: Domain Reliability: Don't create Service if metrics reporting disabled (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Even simpler. Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/domain_reliability/service_factory.h" 5 #include "chrome/browser/domain_reliability/service_factory.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/metrics/field_trial.h" 8 #include "base/metrics/field_trial.h"
9 #include "base/prefs/pref_service.h"
10 #include "chrome/browser/browser_process.h"
9 #include "chrome/common/chrome_switches.h" 11 #include "chrome/common/chrome_switches.h"
12 #include "chrome/common/pref_names.h"
10 #include "components/domain_reliability/service.h" 13 #include "components/domain_reliability/service.h"
11 #include "components/keyed_service/content/browser_context_dependency_manager.h" 14 #include "components/keyed_service/content/browser_context_dependency_manager.h"
12 #include "content/public/browser/browser_context.h" 15 #include "content/public/browser/browser_context.h"
13 16
14 namespace domain_reliability { 17 namespace domain_reliability {
15 18
16 namespace { 19 namespace {
17 20
18 // Identifies Chrome as the source of Domain Reliability uploads it sends. 21 // Identifies Chrome as the source of Domain Reliability uploads it sends.
19 const char* kDomainReliabilityUploadReporterString = "chrome"; 22 const char* kDomainReliabilityUploadReporterString = "chrome";
(...skipping 20 matching lines...) Expand all
40 43
41 // static 44 // static
42 DomainReliabilityServiceFactory* 45 DomainReliabilityServiceFactory*
43 DomainReliabilityServiceFactory::GetInstance() { 46 DomainReliabilityServiceFactory::GetInstance() {
44 return Singleton<DomainReliabilityServiceFactory>::get(); 47 return Singleton<DomainReliabilityServiceFactory>::get();
45 } 48 }
46 49
47 DomainReliabilityServiceFactory::DomainReliabilityServiceFactory() 50 DomainReliabilityServiceFactory::DomainReliabilityServiceFactory()
48 : BrowserContextKeyedServiceFactory( 51 : BrowserContextKeyedServiceFactory(
49 "DomainReliabilityService", 52 "DomainReliabilityService",
50 BrowserContextDependencyManager::GetInstance()) {} 53 BrowserContextDependencyManager::GetInstance()),
54 reporting_enabled_(g_browser_process->local_state()->GetBoolean(
55 prefs::kMetricsReportingEnabled)) {}
51 56
52 DomainReliabilityServiceFactory::~DomainReliabilityServiceFactory() {} 57 DomainReliabilityServiceFactory::~DomainReliabilityServiceFactory() {}
53 58
54 KeyedService* DomainReliabilityServiceFactory::BuildServiceInstanceFor( 59 KeyedService* DomainReliabilityServiceFactory::BuildServiceInstanceFor(
55 content::BrowserContext* context) const { 60 content::BrowserContext* context) const {
56 if (!IsDomainReliabilityMonitoringEnabled()) 61 if (!IsDomainReliabilityMonitoringEnabled())
57 return NULL; 62 return NULL;
58 63
64 if (!reporting_enabled_)
65 return NULL;
66
59 return DomainReliabilityService::Create( 67 return DomainReliabilityService::Create(
60 kDomainReliabilityUploadReporterString); 68 kDomainReliabilityUploadReporterString);
61 } 69 }
62 70
63 } // namespace domain_reliability 71 } // namespace domain_reliability
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698