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 = |