| Index: chrome/browser/metrics/metrics_service.cc
|
| diff --git a/chrome/browser/metrics/metrics_service.cc b/chrome/browser/metrics/metrics_service.cc
|
| index aacc1dda99076886b756cbb32b4fcad74c84f0ef..2b31524e68f5fa691c53f3897a91a39b8e0f3778 100644
|
| --- a/chrome/browser/metrics/metrics_service.cc
|
| +++ b/chrome/browser/metrics/metrics_service.cc
|
| @@ -210,6 +210,7 @@
|
|
|
| #if defined(OS_CHROMEOS)
|
| #include "chrome/browser/chromeos/settings/cros_settings.h"
|
| +#include "chrome/browser/metrics/chromeos_metrics_provider.h"
|
| #include "chromeos/system/statistics_provider.h"
|
| #endif
|
|
|
| @@ -336,11 +337,6 @@ void MetricsService::RegisterPrefs(PrefRegistrySimple* registry) {
|
| 0);
|
| registry->RegisterIntegerPref(prefs::kStabilityDebuggerPresent, 0);
|
| registry->RegisterIntegerPref(prefs::kStabilityDebuggerNotPresent, 0);
|
| -#if defined(OS_CHROMEOS)
|
| - registry->RegisterIntegerPref(prefs::kStabilityOtherUserCrashCount, 0);
|
| - registry->RegisterIntegerPref(prefs::kStabilityKernelCrashCount, 0);
|
| - registry->RegisterIntegerPref(prefs::kStabilitySystemUncleanShutdownCount, 0);
|
| -#endif // OS_CHROMEOS
|
|
|
| registry->RegisterStringPref(prefs::kStabilitySavedSystemProfile,
|
| std::string());
|
| @@ -421,6 +417,11 @@ MetricsService::MetricsService(metrics::MetricsStateManager* state_manager,
|
| RegisterMetricsProvider(scoped_ptr<metrics::MetricsProvider>(
|
| plugin_metrics_provider_));
|
| #endif
|
| +
|
| +#if defined(OS_CHROMEOS)
|
| + RegisterMetricsProvider(
|
| + scoped_ptr<metrics::MetricsProvider>(new ChromeOSMetricsProvider));
|
| +#endif
|
| }
|
|
|
| MetricsService::~MetricsService() {
|
| @@ -822,6 +823,8 @@ void MetricsService::NotifyOnDidCreateMetricsLog() {
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| FOR_EACH_OBSERVER(
|
| MetricsServiceObserver, observers_, OnDidCreateMetricsLog());
|
| + for (size_t i = 0; i < metrics_providers_.size(); ++i)
|
| + metrics_providers_[i]->OnDidCreateMetricsLog();
|
| }
|
|
|
| //------------------------------------------------------------------------------
|
| @@ -1402,22 +1405,6 @@ void MetricsService::LogCleanShutdown() {
|
| MetricsService::SHUTDOWN_COMPLETE);
|
| }
|
|
|
| -#if defined(OS_CHROMEOS)
|
| -void MetricsService::LogChromeOSCrash(const std::string &crash_type) {
|
| - if (crash_type == "user")
|
| - IncrementPrefValue(prefs::kStabilityOtherUserCrashCount);
|
| - else if (crash_type == "kernel")
|
| - IncrementPrefValue(prefs::kStabilityKernelCrashCount);
|
| - else if (crash_type == "uncleanshutdown")
|
| - IncrementPrefValue(prefs::kStabilitySystemUncleanShutdownCount);
|
| - else
|
| - NOTREACHED() << "Unexpected Chrome OS crash type " << crash_type;
|
| - // Wake up metrics logs sending if necessary now that new
|
| - // log data is available.
|
| - HandleIdleSinceLastTransmission(false);
|
| -}
|
| -#endif // OS_CHROMEOS
|
| -
|
| void MetricsService::LogPluginLoadingError(const base::FilePath& plugin_path) {
|
| #if defined(ENABLE_PLUGINS)
|
| // TODO(asvitkine): Move this out of here.
|
|
|