Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(859)

Unified Diff: chrome/browser/resources/settings/checkbox/checkbox.js

Issue 1310373008: Add cr_policy_indicator for settings controls (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@md_settings_compiled_resources_3
Patch Set: Rebase Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/resources/settings/checkbox/checkbox.js
diff --git a/chrome/browser/resources/settings/checkbox/checkbox.js b/chrome/browser/resources/settings/checkbox/checkbox.js
index d8c1a1f2ededd0b2ea0ec83aa6748a159471f085..49ebb3ab3fa8d1c5b982b250810bc82f0f9990a4 100644
--- a/chrome/browser/resources/settings/checkbox/checkbox.js
+++ b/chrome/browser/resources/settings/checkbox/checkbox.js
@@ -26,22 +26,32 @@ Polymer({
notify: true,
},
+ /** Whether the checkbox should represent the inverted value. */
inverted: {
type: Boolean,
- value: false
+ value: false,
},
+ /** Whether the checkbox is checked. */
checked: {
type: Boolean,
value: false,
- observer: 'checkedChanged_'
+ observer: 'checkedChanged_',
+ },
+
+ /** Disabled property for the element. */
+ disabled: {
+ type: Boolean,
+ value: false,
},
+ /** Checkbox label. */
label: {
type: String,
value: '',
},
+ /** Additional sub-label for the checkbox. */
subLabel: {
type: String,
value: '',
@@ -57,20 +67,41 @@ Polymer({
this.$.events.forward(this.$.checkbox, ['change']);
},
- /** @private */
+ /**
+ * Polymer observer for pref.value.
+ * @param {*} prefValue
+ * @private
+ */
prefValueChanged_: function(prefValue) {
this.checked = this.getNewValue_(prefValue);
},
- /** @private */
+ /**
+ * Polymer observer for checked.
+ * @private
+ */
checkedChanged_: function() {
- if (this.pref) {
- this.set('pref.value', this.getNewValue_(this.checked));
- }
+ this.set('pref.value', this.getNewValue_(this.checked));
+ },
+
+ /**
+ * @param {*} value
+ * @return {boolean} The value as a boolean, inverted if |inverted| is true.
+ * @private
+ */
+ getNewValue_: function(value) {
+ return this.inverted ? !value : !!value;
},
- /** @private */
- getNewValue_: function(val) {
- return this.inverted ? !val : val;
- }
+ /**
+ * @param {boolean} disabled
+ * @param {?chrome.settingsPrivate.PrefObject} pref
+ * @return {boolean} Whether the checkbox should be disabled.
+ * @private
+ */
+ checkboxDisabled_: function(disabled, pref) {
+ return disabled || (!!pref &&
+ pref.policyEnforcement ==
+ chrome.settingsPrivate.PolicyEnforcement.ENFORCED);
+ },
});
« no previous file with comments | « chrome/browser/resources/settings/checkbox/checkbox.html ('k') | chrome/common/extensions/api/settings_private.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698