Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(270)

Unified Diff: chrome/browser/ui/webui/options/browser_options_handler.cc

Issue 421653006: Update "Predict network actions" UI setting. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 =

Powered by Google App Engine
This is Rietveld 408576698