| 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();
|
| }
|
|
|