OLD | NEW |
---|---|
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/metrics/metrics_services_manager.h" | 5 #include "chrome/browser/metrics/metrics_services_manager.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/prefs/pref_service.h" | 8 #include "base/prefs/pref_service.h" |
9 #include "chrome/browser/metrics/chrome_metrics_service_client.h" | 9 #include "chrome/browser/metrics/chrome_metrics_service_client.h" |
10 #include "chrome/browser/metrics/extensions_metrics_provider.h" | 10 #include "chrome/browser/metrics/extensions_metrics_provider.h" |
(...skipping 17 matching lines...) Expand all Loading... | |
28 } | 28 } |
29 | 29 |
30 MetricsService* MetricsServicesManager::GetMetricsService() { | 30 MetricsService* MetricsServicesManager::GetMetricsService() { |
31 DCHECK(thread_checker_.CalledOnValidThread()); | 31 DCHECK(thread_checker_.CalledOnValidThread()); |
32 if (!metrics_service_client_) { | 32 if (!metrics_service_client_) { |
33 metrics_service_client_ = | 33 metrics_service_client_ = |
34 ChromeMetricsServiceClient::Create(GetMetricsStateManager(), | 34 ChromeMetricsServiceClient::Create(GetMetricsStateManager(), |
35 local_state_); | 35 local_state_); |
36 metrics_service_client_->metrics_service()->RegisterMetricsProvider( | 36 metrics_service_client_->metrics_service()->RegisterMetricsProvider( |
37 scoped_ptr<metrics::MetricsProvider>( | 37 scoped_ptr<metrics::MetricsProvider>( |
38 new ExtensionsMetricsProvider(GetMetricsStateManager()))); | 38 new ExtensionsMetricsProvider(GetMetricsStateManager()))); |
blundell
2014/06/02 14:24:46
this is already done in ChromeMetricsServiceClient
| |
39 } | 39 } |
40 return metrics_service_client_->metrics_service(); | 40 return metrics_service_client_->metrics_service(); |
41 } | 41 } |
42 | 42 |
43 rappor::RapporService* MetricsServicesManager::GetRapporService() { | 43 rappor::RapporService* MetricsServicesManager::GetRapporService() { |
44 DCHECK(thread_checker_.CalledOnValidThread()); | 44 DCHECK(thread_checker_.CalledOnValidThread()); |
45 if (!rappor_service_) | 45 if (!rappor_service_) |
46 rappor_service_.reset(new rappor::RapporService); | 46 rappor_service_.reset(new rappor::RapporService); |
47 return rappor_service_.get(); | 47 return rappor_service_.get(); |
48 } | 48 } |
49 | 49 |
50 chrome_variations::VariationsService* | 50 chrome_variations::VariationsService* |
51 MetricsServicesManager::GetVariationsService() { | 51 MetricsServicesManager::GetVariationsService() { |
52 DCHECK(thread_checker_.CalledOnValidThread()); | 52 DCHECK(thread_checker_.CalledOnValidThread()); |
53 if (!variations_service_) { | 53 if (!variations_service_) { |
54 variations_service_ = | 54 variations_service_ = |
55 chrome_variations::VariationsService::Create(local_state_, | 55 chrome_variations::VariationsService::Create(local_state_, |
56 GetMetricsStateManager()); | 56 GetMetricsStateManager()); |
57 } | 57 } |
58 return variations_service_.get(); | 58 return variations_service_.get(); |
59 } | 59 } |
60 | 60 |
61 void MetricsServicesManager::OnPluginLoadingError( | 61 void MetricsServicesManager::OnPluginLoadingError( |
62 const base::FilePath& plugin_path) { | 62 const base::FilePath& plugin_path) { |
63 GetMetricsService()->LogPluginLoadingError(plugin_path); | 63 if (!metrics_service_client_) |
64 GetMetricsService(); | |
Alexei Svitkine (slow)
2014/06/02 13:54:03
Nit: Instead, create a private GetMetricsServiceCl
blundell
2014/06/02 14:24:46
Done.
| |
65 metrics_service_client_->LogPluginLoadingError(plugin_path); | |
64 } | 66 } |
65 | 67 |
66 metrics::MetricsStateManager* MetricsServicesManager::GetMetricsStateManager() { | 68 metrics::MetricsStateManager* MetricsServicesManager::GetMetricsStateManager() { |
67 DCHECK(thread_checker_.CalledOnValidThread()); | 69 DCHECK(thread_checker_.CalledOnValidThread()); |
68 if (!metrics_state_manager_) { | 70 if (!metrics_state_manager_) { |
69 metrics_state_manager_ = metrics::MetricsStateManager::Create( | 71 metrics_state_manager_ = metrics::MetricsStateManager::Create( |
70 local_state_, | 72 local_state_, |
71 base::Bind(&MetricsServicesManager::IsMetricsReportingEnabled, | 73 base::Bind(&MetricsServicesManager::IsMetricsReportingEnabled, |
72 base::Unretained(this))); | 74 base::Unretained(this))); |
73 } | 75 } |
(...skipping 13 matching lines...) Expand all Loading... | |
87 #if defined(GOOGLE_CHROME_BUILD) | 89 #if defined(GOOGLE_CHROME_BUILD) |
88 #if defined(OS_CHROMEOS) | 90 #if defined(OS_CHROMEOS) |
89 chromeos::CrosSettings::Get()->GetBoolean(chromeos::kStatsReportingPref, | 91 chromeos::CrosSettings::Get()->GetBoolean(chromeos::kStatsReportingPref, |
90 &enabled); | 92 &enabled); |
91 #else | 93 #else |
92 enabled = local_state_->GetBoolean(prefs::kMetricsReportingEnabled); | 94 enabled = local_state_->GetBoolean(prefs::kMetricsReportingEnabled); |
93 #endif // #if defined(OS_CHROMEOS) | 95 #endif // #if defined(OS_CHROMEOS) |
94 #endif // defined(GOOGLE_CHROME_BUILD) | 96 #endif // defined(GOOGLE_CHROME_BUILD) |
95 return enabled; | 97 return enabled; |
96 } | 98 } |
OLD | NEW |