| 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 d7e783c7dd2c9d9e9759356b6d34e7ba63f3bf50..321604380f48e7491bdd6481d9255af784e4f05f 100644
|
| --- a/chrome/browser/resources/options/pref_ui.js
|
| +++ b/chrome/browser/resources/options/pref_ui.js
|
| @@ -481,7 +481,19 @@ cr.define('options', function() {
|
| // Listen to user events.
|
| this.addEventListener('change',
|
| function(e) {
|
| - Preferences.setStringPref(self.pref, self.value, self.metric);
|
| + switch(self.dataType) {
|
| + case 'number':
|
| + Preferences.setIntegerPref(self.pref, parseInt(self.value, 10),
|
| + self.metric);
|
| + break;
|
| + case 'double':
|
| + Preferences.setDoublePref(self.pref, parseFloat(self.value),
|
| + self.metric);
|
| + break;
|
| + default:
|
| + Preferences.setStringPref(self.pref, self.value, self.metric);
|
| + break;
|
| + }
|
| });
|
|
|
| window.addEventListener('unload',
|
| @@ -504,6 +516,12 @@ cr.define('options', function() {
|
| */
|
| cr.defineProperty(PrefTextField, 'metric', cr.PropertyKind.ATTR);
|
|
|
| + /**
|
| + * The data type for the preference options.
|
| + * @type {string}
|
| + */
|
| + cr.defineProperty(PrefTextField, 'dataType', cr.PropertyKind.ATTR);
|
| +
|
| // Export
|
| return {
|
| PrefCheckbox: PrefCheckbox,
|
|
|