| 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 c59cf030853af6e451796569f3f09cb8750771f3..6fcfd895bfa852058f180487ccd3a9fe3e3c855f 100644
|
| --- a/chrome/browser/resources/options/pref_ui.js
|
| +++ b/chrome/browser/resources/options/pref_ui.js
|
| @@ -27,7 +27,11 @@ cr.define('options', function() {
|
| function(event) {
|
| var value = event.value && event.value['value'] != undefined ?
|
| event.value['value'] : event.value;
|
| - self.checked = Boolean(value);
|
| + // Invert pref value if inverted_pref == true.
|
| + if (self.inverted_pref)
|
| + self.checked = !Boolean(value);
|
| + else
|
| + self.checked = Boolean(value);
|
| self.managed = event.value && event.value['managed'] != undefined ?
|
| event.value['managed'] : false;
|
| self.disabled = self.managed;
|
| @@ -41,14 +45,15 @@ cr.define('options', function() {
|
| // Listen to user events.
|
| this.addEventListener('click',
|
| function(e) {
|
| + var value = self.inverted_pref ? !self.checked : self.checked;
|
| switch(self.valueType) {
|
| case 'number':
|
| Preferences.setIntegerPref(self.pref,
|
| - Number(self.checked), self.metric);
|
| + Number(value), self.metric);
|
| break;
|
| case 'boolean':
|
| Preferences.setBooleanPref(self.pref,
|
| - self.checked, self.metric);
|
| + value, self.metric);
|
| break;
|
| }
|
| });
|
| @@ -81,6 +86,12 @@ cr.define('options', function() {
|
| */
|
| cr.defineProperty(PrefCheckbox, 'metric', cr.PropertyKind.ATTR);
|
|
|
| + /**
|
| + * Whether to use inverted pref value.
|
| + * @type {boolean}
|
| + */
|
| + cr.defineProperty(PrefCheckbox, 'inverted_pref', cr.PropertyKind.BOOL_ATTR);
|
| +
|
| /////////////////////////////////////////////////////////////////////////////
|
| // PrefRadio class:
|
|
|
|
|