Chromium Code Reviews| Index: chrome/browser/ui/webui/options/browser_options_handler.cc |
| diff --git a/chrome/browser/ui/webui/options/browser_options_handler.cc b/chrome/browser/ui/webui/options/browser_options_handler.cc |
| index 65e432bd7cbddae728d5d0002289bb5a1b5634d2..78d8e5d8be7a57b95503aa7a1957d2399133d6ca 100644 |
| --- a/chrome/browser/ui/webui/options/browser_options_handler.cc |
| +++ b/chrome/browser/ui/webui/options/browser_options_handler.cc |
| @@ -32,6 +32,7 @@ |
| #include "chrome/browser/download/download_prefs.h" |
| #include "chrome/browser/gpu/gpu_mode_manager.h" |
| #include "chrome/browser/lifetime/application_lifetime.h" |
| +#include "chrome/browser/metrics/chrome_metrics_service_accessor.h" |
| #include "chrome/browser/net/prediction_options.h" |
| #include "chrome/browser/prefs/session_startup_pref.h" |
| #include "chrome/browser/printing/cloud_print/cloud_print_proxy_service.h" |
| @@ -542,9 +543,8 @@ void BrowserOptionsHandler::GetLocalizedValues(base::DictionaryValue* values) { |
| values->SetString("doNotTrackLearnMoreURL", chrome::kDoNotTrackLearnMoreURL); |
| #if !defined(OS_CHROMEOS) |
| - PrefService* pref_service = g_browser_process->local_state(); |
| - values->SetBoolean("metricsReportingEnabledAtStart", pref_service->GetBoolean( |
| - prefs::kMetricsReportingEnabled)); |
| + values->SetBoolean("metricsReportingEnabledAtStart", |
| + ChromeMetricsServiceAccessor::IsMetricsReportingEnabled()); |
| #endif |
| #if defined(OS_CHROMEOS) |
| @@ -877,7 +877,10 @@ void BrowserOptionsHandler::InitializeHandler() { |
| prefs::kEasyUnlockPairing, |
| base::Bind(&BrowserOptionsHandler::SetupEasyUnlock, |
| base::Unretained(this))); |
| - |
| + profile_pref_registrar_.Add( |
| + prefs::kMetricsReportingEnabled, |
|
Alexei Svitkine (slow)
2014/08/28 14:46:49
This code shouldn't be registering this pref. That
gayane -on leave until 09-2017
2014/09/03 20:20:08
Done.
|
| + base::Bind(&BrowserOptionsHandler::SetupMetricsReportingCheckbox, |
| + base::Unretained(this))); |
| #if defined(OS_WIN) |
| profile_pref_registrar_.Add( |
| prefs::kURLsToRestoreOnStartup, |
| @@ -931,6 +934,7 @@ void BrowserOptionsHandler::InitializePage() { |
| SetupManagingSupervisedUsers(); |
| SetupEasyUnlock(); |
| SetupExtensionControlledIndicators(); |
| + SetupMetricsReportingCheckbox(); |
| #if defined(OS_CHROMEOS) |
| SetupAccessibilityFeatures(); |
| @@ -1870,4 +1874,17 @@ void BrowserOptionsHandler::SetupExtensionControlledIndicators() { |
| #endif // defined(OS_WIN) |
| } |
| +void BrowserOptionsHandler::SetupMetricsReportingCheckbox() { |
| + const PrefService* pref_service = g_browser_process->local_state(); |
| + |
| + base::FundamentalValue checked(pref_service->GetBoolean( |
| + prefs::kMetricsReportingEnabled)); |
|
Alexei Svitkine (slow)
2014/08/28 14:46:48
This part should be done in chrome/browser/metrics
gayane -on leave until 09-2017
2014/09/03 20:20:08
Done.
|
| + const PrefService::Preference* pref = pref_service->FindPreference( |
| + prefs::kMetricsReportingEnabled); |
| + base::FundamentalValue disabled(!(pref && pref->IsManaged())); |
| + |
| + web_ui()->CallJavascriptFunction( |
| + "BrowserOptions.setMetricsReportingCheckboxState", checked, disabled); |
| +} |
| + |
| } // namespace options |