Chromium Code Reviews| 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 |