Index: chrome/browser/metrics/metrics_service.cc |
diff --git a/chrome/browser/metrics/metrics_service.cc b/chrome/browser/metrics/metrics_service.cc |
index d2199673ab5fbc054107d2800e7cf5829f9ffac0..9d27a8e90edae6f22dfb1920cc15716064c2aa85 100644 |
--- a/chrome/browser/metrics/metrics_service.cc |
+++ b/chrome/browser/metrics/metrics_service.cc |
@@ -191,7 +191,6 @@ |
#include "chrome/browser/metrics/metrics_state_manager.h" |
#include "chrome/browser/metrics/network_metrics_provider.h" |
#include "chrome/browser/metrics/omnibox_metrics_provider.h" |
-#include "chrome/browser/metrics/tracking_synchronizer.h" |
#include "chrome/common/pref_names.h" |
#include "chrome/common/variations/variations_util.h" |
#include "components/metrics/metrics_log_base.h" |
@@ -203,20 +202,6 @@ |
#include "net/base/load_flags.h" |
#include "net/url_request/url_fetcher.h" |
-#if defined(ENABLE_PLUGINS) |
-// TODO(asvitkine): Move this out of MetricsService. |
-#include "chrome/browser/metrics/plugin_metrics_provider.h" |
-#endif |
- |
-#if defined(OS_WIN) |
-#include "chrome/browser/metrics/google_update_metrics_provider_win.h" |
-#endif |
- |
-#if defined(OS_ANDROID) |
-// TODO(asvitkine): Move this out of MetricsService. |
-#include "chrome/browser/metrics/android_metrics_provider.h" |
-#endif |
- |
using base::Time; |
using metrics::MetricsLogManager; |
@@ -331,19 +316,6 @@ void MetricsService::RegisterPrefs(PrefRegistrySimple* registry) { |
registry->RegisterInt64Pref(prefs::kUninstallMetricsUptimeSec, 0); |
registry->RegisterInt64Pref(prefs::kUninstallLastLaunchTimeSec, 0); |
registry->RegisterInt64Pref(prefs::kUninstallLastObservedRunTimeSec, 0); |
- |
- // TODO(asvitkine): Move this out of here. |
- ChromeStabilityMetricsProvider::RegisterPrefs(registry); |
- |
-#if defined(OS_ANDROID) |
- // TODO(asvitkine): Move this out of here. |
- AndroidMetricsProvider::RegisterPrefs(registry); |
-#endif // defined(OS_ANDROID) |
- |
-#if defined(ENABLE_PLUGINS) |
- // TODO(asvitkine): Move this out of here. |
- PluginMetricsProvider::RegisterPrefs(registry); |
-#endif |
} |
MetricsService::MetricsService(metrics::MetricsStateManager* state_manager, |
@@ -369,36 +341,6 @@ MetricsService::MetricsService(metrics::MetricsStateManager* state_manager, |
DCHECK(state_manager_); |
DCHECK(client_); |
DCHECK(local_state_); |
- |
-#if defined(OS_ANDROID) |
- // TODO(asvitkine): Move this out of MetricsService. |
- RegisterMetricsProvider( |
- scoped_ptr<metrics::MetricsProvider>(new AndroidMetricsProvider( |
- local_state_))); |
-#endif // defined(OS_ANDROID) |
- |
- // TODO(asvitkine): Move these out of MetricsService. |
- RegisterMetricsProvider( |
- scoped_ptr<metrics::MetricsProvider>(new NetworkMetricsProvider)); |
- RegisterMetricsProvider( |
- scoped_ptr<metrics::MetricsProvider>(new OmniboxMetricsProvider)); |
- RegisterMetricsProvider( |
- scoped_ptr<metrics::MetricsProvider>(new ChromeStabilityMetricsProvider)); |
- RegisterMetricsProvider( |
- scoped_ptr<metrics::MetricsProvider>(new GPUMetricsProvider())); |
- |
-#if defined(OS_WIN) |
- google_update_metrics_provider_ = new GoogleUpdateMetricsProviderWin; |
- RegisterMetricsProvider(scoped_ptr<metrics::MetricsProvider>( |
- google_update_metrics_provider_)); |
-#endif |
- |
-#if defined(ENABLE_PLUGINS) |
- plugin_metrics_provider_ = new PluginMetricsProvider(local_state_); |
- RegisterMetricsProvider(scoped_ptr<metrics::MetricsProvider>( |
- plugin_metrics_provider_)); |
-#endif |
- |
} |
MetricsService::~MetricsService() { |
@@ -676,43 +618,6 @@ void MetricsService::InitializeMetricsState() { |
ScheduleNextStateSave(); |
} |
-void MetricsService::OnInitTaskGotHardwareClass() { |
- DCHECK_EQ(INIT_TASK_SCHEDULED, state_); |
- |
- const base::Closure got_plugin_info_callback = |
- base::Bind(&MetricsService::OnInitTaskGotPluginInfo, |
- self_ptr_factory_.GetWeakPtr()); |
- |
-#if defined(ENABLE_PLUGINS) |
- plugin_metrics_provider_->GetPluginInformation(got_plugin_info_callback); |
-#else |
- got_plugin_info_callback.Run(); |
-#endif |
-} |
- |
-void MetricsService::OnInitTaskGotPluginInfo() { |
- DCHECK_EQ(INIT_TASK_SCHEDULED, state_); |
- |
- const base::Closure got_metrics_callback = |
- base::Bind(&MetricsService::OnInitTaskGotGoogleUpdateData, |
- self_ptr_factory_.GetWeakPtr()); |
- |
-#if defined(OS_WIN) && defined(GOOGLE_CHROME_BUILD) |
- google_update_metrics_provider_->GetGoogleUpdateData(got_metrics_callback); |
-#else |
- got_metrics_callback.Run(); |
-#endif |
-} |
- |
-void MetricsService::OnInitTaskGotGoogleUpdateData() { |
- DCHECK_EQ(INIT_TASK_SCHEDULED, state_); |
- |
- // Start the next part of the init task: fetching performance data. This will |
- // call into |FinishedReceivingProfilerData()| when the task completes. |
- chrome_browser_metrics::TrackingSynchronizer::FetchProfilerDataAsynchronously( |
- self_ptr_factory_.GetWeakPtr()); |
-} |
- |
void MetricsService::OnUserAction(const std::string& action) { |
if (!ShouldLogEvents()) |
return; |
@@ -736,7 +641,7 @@ void MetricsService::ReceivedProfilerData( |
initial_metrics_log_->RecordProfilerData(process_data, process_type); |
} |
-void MetricsService::FinishedReceivingProfilerData() { |
+void MetricsService::FinishedGatheringInitialMetrics() { |
DCHECK_EQ(INIT_TASK_SCHEDULED, state_); |
state_ = INIT_TASK_DONE; |
scheduler_->InitTaskComplete(); |
@@ -815,10 +720,8 @@ void MetricsService::OpenNewLog() { |
// We only need to schedule that run once. |
state_ = INIT_TASK_SCHEDULED; |
- // TODO(blundell): Move all initial metrics gathering to |
- // ChromeMetricsServiceClient. |
client_->StartGatheringMetrics( |
- base::Bind(&MetricsService::OnInitTaskGotHardwareClass, |
+ base::Bind(&MetricsService::FinishedGatheringInitialMetrics, |
self_ptr_factory_.GetWeakPtr())); |
} |
} |
@@ -1334,13 +1237,6 @@ void MetricsService::LogCleanShutdown() { |
MetricsService::SHUTDOWN_COMPLETE); |
} |
-void MetricsService::LogPluginLoadingError(const base::FilePath& plugin_path) { |
-#if defined(ENABLE_PLUGINS) |
- // TODO(asvitkine): Move this out of here. |
- plugin_metrics_provider_->LogPluginLoadingError(plugin_path); |
-#endif |
-} |
- |
bool MetricsService::ShouldLogEvents() { |
// We simply don't log events to UMA if there is a single incognito |
// session visible. The problem is that we always notify using the orginal |
@@ -1357,7 +1253,6 @@ void MetricsService::RecordBooleanPrefValue(const char* path, bool value) { |
void MetricsService::RecordCurrentState(PrefService* pref) { |
pref->SetInt64(prefs::kStabilityLastTimestampSec, Time::Now().ToTimeT()); |
-#if defined(ENABLE_PLUGINS) |
- plugin_metrics_provider_->RecordPluginChanges(); |
-#endif |
+ for (size_t i = 0; i < metrics_providers_.size(); ++i) |
+ metrics_providers_[i]->RecordCurrentState(); |
} |