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..6e9ff901de6516fef3ae13717bbc8b2a124e53fb 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))); |
@@ -904,6 +909,7 @@ void BrowserOptionsHandler::InitializePage() { |
UpdateDefaultBrowserState(); |
SetupMetricsReportingSettingVisibility(); |
+ SetupNetworkPredictionControl(); |
SetupFontSizeSelector(); |
SetupPageZoomSelector(); |
SetupAutoOpenFileTypes(); |
@@ -1660,6 +1666,20 @@ void BrowserOptionsHandler::SetupMetricsReportingSettingVisibility() { |
#endif |
} |
+void BrowserOptionsHandler::SetupNetworkPredictionControl() { |
+ PrefService* pref_service = Profile::FromWebUI(web_ui())->GetPrefs(); |
+ |
+ base::DictionaryValue dict; |
+ dict.SetInteger("value", |
+ pref_service->GetInteger(prefs::kNetworkPredictionOptions)); |
+ dict.SetBoolean("disabled", |
+ !pref_service->IsUserModifiablePreference( |
+ prefs::kNetworkPredictionOptions)); |
+ |
+ web_ui()->CallJavascriptFunction("BrowserOptions.setNetworkPredictionValue", |
+ dict); |
+} |
+ |
void BrowserOptionsHandler::SetupFontSizeSelector() { |
PrefService* pref_service = Profile::FromWebUI(web_ui())->GetPrefs(); |
const PrefService::Preference* default_font_size = |