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

Unified Diff: chrome/browser/metrics/chrome_metrics_services_manager_client.cc

Issue 1411863002: Use kMetricsReportingEnabled instead of kStatsReporingPref on metrics side (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add observer for kStatsReportingPref Created 5 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/metrics/chrome_metrics_services_manager_client.cc
diff --git a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc b/chrome/browser/metrics/chrome_metrics_services_manager_client.cc
index 81188abb9677b3043801bd3041a1ed3d665a6fde..404a57d6659666c3fff06b288d089507045bac1f 100644
--- a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc
+++ b/chrome/browser/metrics/chrome_metrics_services_manager_client.cc
@@ -20,6 +20,11 @@
#include "components/variations/service/variations_service.h"
#include "content/public/browser/browser_thread.h"
+#if defined(OS_CHROMEOS)
+#include "chrome/browser/chromeos/settings/cros_settings.h"
+#include "chromeos/settings/cros_settings_names.h"
+#endif // defined(OS_CHROMEOS)
+
namespace {
// Posts |GoogleUpdateSettings::StoreMetricsClientInfo| on blocking pool thread
@@ -30,12 +35,25 @@ void PostStoreMetricsClientInfo(const metrics::ClientInfo& client_info) {
base::Bind(&GoogleUpdateSettings::StoreMetricsClientInfo, client_info));
}
+// Initialize kMetricsReportingEnabled based on kStatsReportingPref device
+// setting and add an observer as it is the source of truth on Chrome OS.
+void SetupMetricsStateForChromeOS() {
Alexei Svitkine (slow) 2015/11/02 21:50:32 Suggest moving this to metrics_reporting_state.cc
gayane -on leave until 09-2017 2015/11/03 19:46:17 Done.
+#if defined(OS_CHROMEOS)
+ chromeos::CrosSettings::Get()->AddSettingsObserver(
+ chromeos::kStatsReportingPref, base::Bind(&onDeviceSettingsChange));
+
+ onDeviceSettingsChange();
+#endif // defined(OS_CHROMEOS)
+}
+
} // namespace
ChromeMetricsServicesManagerClient::ChromeMetricsServicesManagerClient(
PrefService* local_state)
: local_state_(local_state) {
DCHECK(local_state);
+
+ SetupMetricsStateForChromeOS();
}
ChromeMetricsServicesManagerClient::~ChromeMetricsServicesManagerClient() {}

Powered by Google App Engine
This is Rietveld 408576698