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

Unified Diff: chrome/browser/resources/options/browser_options.js

Issue 421653006: Update "Predict network actions" UI setting. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 5 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/resources/options/browser_options.js
diff --git a/chrome/browser/resources/options/browser_options.js b/chrome/browser/resources/options/browser_options.js
index 49ddceb11051ff7619330d037dbf8c48e17ce25b..c1f3e5f2817f19a6c74963a7793eae179de91520 100644
--- a/chrome/browser/resources/options/browser_options.js
+++ b/chrome/browser/resources/options/browser_options.js
@@ -7,6 +7,12 @@ cr.define('options', function() {
var ArrayDataModel = cr.ui.ArrayDataModel;
var RepeatingButton = cr.ui.RepeatingButton;
var HotwordSearchSettingIndicator = options.HotwordSearchSettingIndicator;
+ var NetworkPredictionOptions = {
+ ALWAYS: 0,
+ WIFI_ONLY: 1,
+ NEVER: 2,
+ UNSET: 3
stevenjb 2014/07/30 18:03:29 Unused?
Bence 2014/08/01 14:36:46 Done.
+ };
//
// BrowserOptions class
@@ -348,6 +354,26 @@ cr.define('options', function() {
[String(event.currentTarget.checked)]);
};
}
+ $('networkPredictionOptionsBool').onchange = function(event) {
+ var value = (event.target.checked ?
+ NetworkPredictionOptions.WIFI_ONLY :
+ NetworkPredictionOptions.NEVER);
+ var metric = event.target.metric;
+ Preferences.setIntegerPref(
+ 'net.network_prediction_options',
+ value,
+ true,
+ metric);
+ };
+ $('networkPredictionOptionsTristate').onchange = function(event) {
+ var value = event.target.options[event.target.selectedIndex].value;
stevenjb 2014/07/30 18:03:29 nit: assert value <= NEVER
Bence 2014/08/01 14:36:47 Moot: this function is removed as a result of UI r
+ var metric = event.target.metric;
+ Preferences.setIntegerPref(
+ 'net.network_prediction_options',
+ value,
+ true,
+ metric);
+ };
// Bluetooth (CrOS only).
if (cr.isChromeOS) {
@@ -1456,6 +1482,43 @@ cr.define('options', function() {
},
/**
+ * Set visibility of network prediction controls based on current connection
+ * type.
+ *
+ * @param {Object} pref Information about network connection.
+ * @param {boolean} pref.onCellularNetwork True if current network
+ * connection is cellular.
+ * @private
+ */
+ setNetworkPredictionVisibility_: function(pref) {
+ if (pref.onCellularNetwork) {
+ $('networkPredictionOptionsBoolDiv').hidden = true;
+ $('networkPredictionOptionsTristateDiv').hidden = false;
+ } else {
+ $('networkPredictionOptionsBoolDiv').hidden = false;
+ $('networkPredictionOptionsTristateDiv').hidden = true;
+ }
+ },
+
+ /**
+ * Set network prediction controls. There is a checkbox and a dropdown
+ * menu, exactly one of which is visible.
+ *
+ * @param {Object} pref Information about network prediction options.
+ * @param {number} pref.value The value of network prediction options.
+ * @param {boolean} pref.disabled If the pref is not user modifiable.
+ * @private
+ */
+ setNetworkPredictionValue_: function(pref) {
+ var checkbox = $('networkPredictionOptionsBool');
+ checkbox.disabled = pref.disabled;
+ checkbox.checked = !(pref.value == NetworkPredictionOptions.NEVER);
+ var dropdown = $('networkPredictionOptionsTristate');
+ dropdown.disabled = pref.disabled;
+ dropdown.value = pref.value;
+ },
+
+ /**
* Set the font size selected item. This item actually reflects two
* preferences: the default font size and the default fixed font size.
*
@@ -1838,6 +1901,8 @@ cr.define('options', function() {
'setCanSetTime',
'setFontSize',
'setNativeThemeButtonEnabled',
+ 'setNetworkPredictionValue',
+ 'setNetworkPredictionVisibility',
stevenjb 2014/07/30 18:03:29 Do we really need two API calls for this? It looks
Bence 2014/08/01 14:36:46 Moot: one function is removed as the result of UI
'setHighContrastCheckboxState',
'setMetricsReportingCheckboxState',
'setMetricsReportingSettingVisibility',

Powered by Google App Engine
This is Rietveld 408576698