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

Side by Side Diff: chrome/browser/metrics/metrics_services_manager.cc

Issue 293393010: Move initial metrics gathering tasks out of MetricsService. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 6 years, 6 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/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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698