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 938a3c0a0cde824fbde968d884945a4334c9d4b5..afc4696c8a5ee3e1c8361520f6e0830fc03edc4f 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/net/prediction_options.h" |
| #include "chrome/browser/prefs/session_startup_pref.h" |
| #include "chrome/browser/printing/cloud_print/cloud_print_proxy_service.h" |
| #include "chrome/browser/printing/cloud_print/cloud_print_proxy_service_factory.h" |
| @@ -840,6 +841,10 @@ void BrowserOptionsHandler::InitializeHandler() { |
| base::Unretained(this))); |
| profile_pref_registrar_.Init(prefs); |
| profile_pref_registrar_.Add( |
| + prefs::kNetworkPredictionOptions, |
| + base::Bind(&BrowserOptionsHandler::SetupNetworkPredictionControl, |
| + base::Unretained(this))); |
| + profile_pref_registrar_.Add( |
| prefs::kWebKitDefaultFontSize, |
| base::Bind(&BrowserOptionsHandler::SetupFontSizeSelector, |
| base::Unretained(this))); |
| @@ -903,7 +908,10 @@ void BrowserOptionsHandler::InitializePage() { |
| OnStateChanged(); |
| UpdateDefaultBrowserState(); |
| + MigrateNetworkPredictionOptions(); |
| + |
| SetupMetricsReportingSettingVisibility(); |
| + SetupNetworkPredictionControl(); |
| SetupFontSizeSelector(); |
| SetupPageZoomSelector(); |
| SetupAutoOpenFileTypes(); |
| @@ -1649,6 +1657,21 @@ void BrowserOptionsHandler::SetupAccessibilityFeatures() { |
| } |
| #endif |
| +void BrowserOptionsHandler::MigrateNetworkPredictionOptions() { |
| + PrefService* pref_service = Profile::FromWebUI(web_ui())->GetPrefs(); |
| + if (pref_service->GetInteger(prefs::kNetworkPredictionOptions) == |
| + chrome_browser_net::NETWORK_PREDICTION_UNSET && |
| + pref_service->FindPreference(prefs::kNetworkPredictionEnabled) && |
| + pref_service->FindPreference(prefs::kNetworkPredictionEnabled) |
|
stevenjb
2014/08/05 15:51:56
nit: Use a local to avoid extra lookup. Also maybe
Bence
2014/08/06 19:38:16
Done.
|
| + ->HasUserSetting()) { |
| + pref_service->SetInteger( |
| + prefs::kNetworkPredictionOptions, |
| + pref_service->GetBoolean(prefs::kNetworkPredictionEnabled) |
| + ? chrome_browser_net::NETWORK_PREDICTION_WIFI_ONLY |
| + : chrome_browser_net::NETWORK_PREDICTION_NEVER); |
| + } |
| +} |
| + |
| void BrowserOptionsHandler::SetupMetricsReportingSettingVisibility() { |
| #if defined(GOOGLE_CHROME_BUILD) |
| // Don't show the reporting setting if we are in the guest mode. |
| @@ -1660,6 +1683,20 @@ void BrowserOptionsHandler::SetupMetricsReportingSettingVisibility() { |
| #endif |
| } |
| +void BrowserOptionsHandler::SetupNetworkPredictionControl() { |
| + PrefService* pref_service = Profile::FromWebUI(web_ui())->GetPrefs(); |
| + const PrefService::Preference* network_prediction_options = |
| + pref_service->FindPreference(prefs::kNetworkPredictionOptions); |
| + |
| + base::DictionaryValue dict; |
| + dict.SetInteger("value", |
| + pref_service->GetInteger(prefs::kNetworkPredictionOptions)); |
|
stevenjb
2014/08/05 15:51:56
Use network_prediction_options->GetValue()->GetAsI
Bence
2014/08/06 19:38:16
Done.
|
| + dict.SetBoolean("disabled", !network_prediction_options->IsUserModifiable()); |
| + |
| + web_ui()->CallJavascriptFunction("BrowserOptions.setNetworkPredictionValue", |
| + dict); |
| +} |
| + |
| void BrowserOptionsHandler::SetupFontSizeSelector() { |
| PrefService* pref_service = Profile::FromWebUI(web_ui())->GetPrefs(); |
| const PrefService::Preference* default_font_size = |