| 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 26228542f2d279e19687c57889a9f889ea710f19..0c5368f98590980e3f6bdb05e190db755a5ce136 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/gpu/gpu_mode_manager.h"
|
| #include "chrome/browser/lifetime/application_lifetime.h"
|
| #include "chrome/browser/metrics/metrics_reporting_state.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"
|
| @@ -833,6 +834,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)));
|
| @@ -896,7 +901,10 @@ void BrowserOptionsHandler::InitializePage() {
|
| OnStateChanged();
|
| UpdateDefaultBrowserState();
|
|
|
| + MigrateNetworkPredictionOptions();
|
| +
|
| SetupMetricsReportingSettingVisibility();
|
| + SetupNetworkPredictionControl();
|
| SetupFontSizeSelector();
|
| SetupPageZoomSelector();
|
| SetupAutoOpenFileTypes();
|
| @@ -1624,6 +1632,18 @@ 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->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.
|
| @@ -1635,6 +1655,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));
|
| + 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 =
|
|
|