Chromium Code Reviews| 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); |
| + } |
| }; |
| /** |