Index: chrome/browser/resources/options/pref_ui.js |
diff --git a/chrome/browser/resources/options/pref_ui.js b/chrome/browser/resources/options/pref_ui.js |
index af87318a67dd532628d81d656e49e614fdb21778..6f26d60444eb08cb29c625e715ade65d2ad038e9 100644 |
--- a/chrome/browser/resources/options/pref_ui.js |
+++ b/chrome/browser/resources/options/pref_ui.js |
@@ -408,27 +408,48 @@ cr.define('options', function() { |
// Listen to user events. |
this.addEventListener('change', |
function(e) { |
- if (!self.dataType) |
- console.error('unknown data type for <select> pref'); |
+ if (!self.dataType) { |
+ console.error('undefined data type for <select> pref'); |
+ return; |
+ } |
switch(self.dataType) { |
case 'number': |
Preferences.setIntegerPref(self.pref, |
self.options[self.selectedIndex].value, self.metric); |
break; |
+ case 'real': |
+ Preferences.setRealPref(self.pref, |
+ self.options[self.selectedIndex].value, self.metric); |
+ break; |
case 'boolean': |
var option = self.options[self.selectedIndex]; |
var value = (option.value == 'true') ? true : false; |
Preferences.setBooleanPref(self.pref, value, self.metric); |
break; |
case 'string': |
- case undefined: // Assume the pref is a string. |
Preferences.setStringPref(self.pref, |
self.options[self.selectedIndex].value, self.metric); |
break; |
+ default: |
+ console.error('unknown data type for <select> pref: ' + |
+ self.dataType); |
} |
}); |
}, |
+ |
+ /** |
+ * Getter for preference data type attribute. |
+ */ |
+ get dataType() { |
+ return this.getAttribute('dataType'); |
+ }, |
+ /** |
+ * Setter for preference data type attribute. |
+ */ |
stuartmorgan
2011/01/12 22:59:41
The code I've seen doesn't have separate docs for
Evan Stade
2011/01/12 23:19:20
i copied this style from within this same file.
|
+ set dataType(name) { |
+ this.setAttribute('dataType', name); |
+ } |
}; |
/** |