Chromium Code Reviews| Index: chrome/browser/metrics/chrome_metrics_service_client.cc |
| diff --git a/chrome/browser/metrics/chrome_metrics_service_client.cc b/chrome/browser/metrics/chrome_metrics_service_client.cc |
| index b1af4ef6ecbcb0294a9c5476fb4f538339abfe9b..4dc8ea45df9ef6f9e7b6463144a1ecc2f2dd4994 100644 |
| --- a/chrome/browser/metrics/chrome_metrics_service_client.cc |
| +++ b/chrome/browser/metrics/chrome_metrics_service_client.cc |
| @@ -40,6 +40,7 @@ |
| #include "chrome/common/chrome_switches.h" |
| #include "chrome/common/crash_keys.h" |
| #include "chrome/common/features.h" |
| +#include "chrome/common/pref_names.h" |
| #include "chrome/installer/util/util_constants.h" |
| #include "components/metrics/call_stack_profile_metrics_provider.h" |
| #include "components/metrics/drive_metrics_provider.h" |
| @@ -115,20 +116,6 @@ const int kMaxHistogramGatheringWaitDuration = 60000; // 60 seconds. |
| // third_party/crashpad/crashpad/handler/handler_main.cc. |
| const char kCrashpadHistogramAllocatorName[] = "CrashpadMetrics"; |
| -// Checks whether it is the first time that cellular uploads logic should be |
| -// enabled based on whether the the preference for that logic is initialized. |
| -// This should happen only once as the used preference will be initialized |
| -// afterwards in |UmaSessionStats.java|. |
| -bool ShouldClearSavedMetrics() { |
| -#if BUILDFLAG(ANDROID_JAVA_UI) |
| - PrefService* local_state = g_browser_process->local_state(); |
| - return !local_state->HasPrefPath(metrics::prefs::kMetricsReportingEnabled) && |
| - metrics::IsCellularLogicEnabled(); |
| -#else |
| - return false; |
| -#endif |
| -} |
| - |
| void RegisterFileMetricsPreferences(PrefRegistrySimple* registry) { |
| metrics::FileMetricsProvider::RegisterPrefs( |
| registry, ChromeMetricsServiceClient::kBrowserMetricsName); |
| @@ -416,17 +403,14 @@ ChromeMetricsServiceClient::GetMetricsReportingDefaultState() { |
| } |
| void ChromeMetricsServiceClient::Initialize() { |
| - // Clear metrics reports if it is the first time cellular upload logic should |
| - // apply to avoid sudden bulk uploads. It needs to be done before initializing |
| - // metrics service so that metrics log manager is initialized correctly. |
| - if (ShouldClearSavedMetrics()) { |
| - PrefService* local_state = g_browser_process->local_state(); |
| - local_state->ClearPref(metrics::prefs::kMetricsInitialLogs); |
| - local_state->ClearPref(metrics::prefs::kMetricsOngoingLogs); |
| - } |
| + // Clear deprecated metrics preference for Android. |
| + PrefService* local_state = g_browser_process->local_state(); |
| +#if BUILDFLAG(ANDROID_JAVA_UI) |
|
Alexei Svitkine (slow)
2016/09/19 19:38:02
Add a comment about this explaining what this with
gayane -on leave until 09-2017
2016/09/19 20:05:58
Done.
|
| + local_state->ClearPref(prefs::kCrashReportingEnabled); |
| +#endif |
| - metrics_service_.reset(new metrics::MetricsService( |
| - metrics_state_manager_, this, g_browser_process->local_state())); |
| + metrics_service_.reset( |
| + new metrics::MetricsService(metrics_state_manager_, this, local_state)); |
| // Gets access to persistent metrics shared by sub-processes. |
| metrics_service_->RegisterMetricsProvider( |
| @@ -452,8 +436,7 @@ void ChromeMetricsServiceClient::Initialize() { |
| base::Bind(&chrome::IsIncognitoSessionActive)))); |
| metrics_service_->RegisterMetricsProvider( |
| std::unique_ptr<metrics::MetricsProvider>( |
| - new ChromeStabilityMetricsProvider( |
| - g_browser_process->local_state()))); |
| + new ChromeStabilityMetricsProvider(local_state))); |
| metrics_service_->RegisterMetricsProvider( |
| std::unique_ptr<metrics::MetricsProvider>( |
| new metrics::GPUMetricsProvider)); |
| @@ -471,8 +454,7 @@ void ChromeMetricsServiceClient::Initialize() { |
| metrics_service_->RegisterMetricsProvider( |
| std::unique_ptr<metrics::MetricsProvider>(drive_metrics_provider_)); |
| - profiler_metrics_provider_ = new metrics::ProfilerMetricsProvider( |
| - base::Bind(&metrics::IsCellularLogicEnabled)); |
| + profiler_metrics_provider_ = new metrics::ProfilerMetricsProvider(); |
| metrics_service_->RegisterMetricsProvider( |
| std::unique_ptr<metrics::MetricsProvider>(profiler_metrics_provider_)); |
| @@ -487,7 +469,7 @@ void ChromeMetricsServiceClient::Initialize() { |
| #if BUILDFLAG(ANDROID_JAVA_UI) |
| metrics_service_->RegisterMetricsProvider( |
| std::unique_ptr<metrics::MetricsProvider>( |
| - new AndroidMetricsProvider(g_browser_process->local_state()))); |
| + new AndroidMetricsProvider(local_state))); |
| metrics_service_->RegisterMetricsProvider( |
| std::unique_ptr<metrics::MetricsProvider>(new PageLoadMetricsProvider())); |
| #endif // BUILDFLAG(ANDROID_JAVA_UI) |
| @@ -514,8 +496,7 @@ void ChromeMetricsServiceClient::Initialize() { |
| #endif // defined(OS_WIN) |
| #if defined(ENABLE_PLUGINS) |
| - plugin_metrics_provider_ = |
| - new PluginMetricsProvider(g_browser_process->local_state()); |
| + plugin_metrics_provider_ = new PluginMetricsProvider(local_state); |
| metrics_service_->RegisterMetricsProvider( |
| std::unique_ptr<metrics::MetricsProvider>(plugin_metrics_provider_)); |
| #endif // defined(ENABLE_PLUGINS) |
| @@ -534,7 +515,6 @@ void ChromeMetricsServiceClient::Initialize() { |
| // Record default UMA state as opt-out for all Chrome OS users, if not |
| // recorded yet. |
| - PrefService* local_state = g_browser_process->local_state(); |
| if (metrics::GetMetricsReportingDefaultState(local_state) == |
| metrics::EnableMetricsDefault::DEFAULT_UNKNOWN) { |
| metrics::RecordMetricsReportingDefaultState( |
| @@ -557,12 +537,6 @@ void ChromeMetricsServiceClient::Initialize() { |
| metrics_service_->RegisterMetricsProvider( |
| std::unique_ptr<metrics::MetricsProvider>( |
| new HttpsEngagementMetricsProvider())); |
| - |
| - // Clear stability metrics if it is the first time cellular upload logic |
| - // should apply to avoid sudden bulk uploads. It needs to be done after all |
| - // providers are registered. |
| - if (ShouldClearSavedMetrics()) |
| - metrics_service_->ClearSavedStabilityMetrics(); |
| } |
| void ChromeMetricsServiceClient::OnInitTaskGotHardwareClass() { |