Index: chrome/browser/resources/options/pref_ui.js |
=================================================================== |
--- chrome/browser/resources/options/pref_ui.js (revision 53227) |
+++ chrome/browser/resources/options/pref_ui.js (working copy) |
@@ -28,8 +28,7 @@ |
// Listen to user events. |
this.addEventListener('click', |
function(e) { |
- Preferences.setBooleanPref(self.pref, |
- self.checked); |
+ Preferences.setBooleanPref(self.pref, self.checked); |
}); |
} |
}; |
@@ -107,8 +106,20 @@ |
// Listen to user events. |
this.addEventListener('change', |
function(e) { |
- Preferences.setStringPref(self.pref, |
- self.options[self.selectedIndex].value); |
+ switch(self.dataType) { |
+ case 'number': |
+ Preferences.setIntegerPref(self.pref, |
+ self.options[self.selectedIndex].value); |
+ break; |
+ case 'boolean': |
+ Preferences.setBooleanValue(self.pref, |
+ self.options[self.selectedIndex].value); |
+ break; |
+ case 'string': |
+ Preferences.setStringPref(self.pref, |
+ self.options[self.selectedIndex].value); |
+ break; |
+ } |
}); |
}, |
@@ -122,6 +133,8 @@ |
*/ |
initializeValues: function(options) { |
options.forEach(function (values) { |
+ if (this.dataType == undefined) |
+ this.dataType = typeof values[0]; |
this.appendChild(new Option(values[1], values[0])); |
}, this); |
} |