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

Unified Diff: chrome/browser/resources/chromeos/switch_access/options.js

Issue 2777203006: Added auto-scan, made some small changes to how prefs are stored, refactored. (Closed)
Patch Set: Responding to comments. Refactored tree_walker. Removed testable_tree_walker. Created 3 years, 9 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/chromeos/switch_access/options.js
diff --git a/chrome/browser/resources/chromeos/switch_access/options.js b/chrome/browser/resources/chromeos/switch_access/options.js
index 9d59dd6e1b611e29d27957bbfe9a19d3589334f1..94fefc741684208c763db4b84c8e634a57944434 100644
--- a/chrome/browser/resources/chromeos/switch_access/options.js
+++ b/chrome/browser/resources/chromeos/switch_access/options.js
@@ -17,7 +17,7 @@ let $ = function(id) {
*
* @constructor
*/
-let SwitchAccessOptions = function() {
+function SwitchAccessOptions() {
let background = chrome.extension.getBackgroundPage();
/**
@@ -41,9 +41,10 @@ SwitchAccessOptions.prototype = {
* @private
*/
init_: function() {
- let prefs = this.switchAccessPrefs_.getPrefs();
- $('enableAutoScan').checked = prefs['enableAutoScan'];
- $('autoScanTime').value = prefs['autoScanTime'];
+ $('enableAutoScan').checked =
+ this.switchAccessPrefs_.getBooleanPref('enableAutoScan');
+ $('autoScanTime').value =
+ this.switchAccessPrefs_.getNumberPref('autoScanTime') / 1000;
},
/**
@@ -53,17 +54,39 @@ SwitchAccessOptions.prototype = {
* @private
*/
handleInputChange_: function(event) {
- switch (event.target.id) {
+ let input = event.target;
+ switch (input.id) {
case 'enableAutoScan':
- this.switchAccessPrefs_.setPref(event.target.id, event.target.checked);
+ this.switchAccessPrefs_.setPref(input.id, input.checked);
break;
case 'autoScanTime':
- this.switchAccessPrefs_.setPref(event.target.id, event.target.value);
+ let oldVal = this.switchAccessPrefs_.getNumberPref(input.id);
+ let val = Number(input.value) * 1000;
+ let min = Number(input.min) * 1000;
+ if (this.isValidInput_(val, oldVal, min)) {
+ input.value = Number(input.value);
+ this.switchAccessPrefs_.setPref(input.id, val);
+ } else {
+ input.value = oldVal;
+ }
break;
}
},
/**
+ * Return true if the input is a valid autoScanTime input. Otherwise, return
+ * false.
+ *
+ * @param {number} value
+ * @param {number} oldValue
+ * @param {number} min
+ * @return {boolean}
+ */
+ isValidInput_: function(value, oldValue, min) {
+ return (value !== oldValue) && (value >= min);
+ },
+
+ /**
* Handle a change in user preferences.
*
* @param {!Event} event
@@ -77,7 +100,7 @@ SwitchAccessOptions.prototype = {
$(key).checked = updatedPrefs[key];
break;
case 'autoScanTime':
- $(key).value = updatedPrefs[key];
+ $(key).value = updatedPrefs[key] / 1000;
break;
}
}

Powered by Google App Engine
This is Rietveld 408576698