Chromium Code Reviews| Index: ui/webui/resources/cr_elements/policy/cr_policy_pref_behavior.js |
| diff --git a/ui/webui/resources/cr_elements/policy/cr_policy_pref_behavior.js b/ui/webui/resources/cr_elements/policy/cr_policy_pref_behavior.js |
| index 0fd367c6238f3417266d038abf570cd81053fef5..0db628792f1513fdd85a3c876dabbaf42a2ef9b4 100644 |
| --- a/ui/webui/resources/cr_elements/policy/cr_policy_pref_behavior.js |
| +++ b/ui/webui/resources/cr_elements/policy/cr_policy_pref_behavior.js |
| @@ -8,13 +8,28 @@ |
| /** @polymerBehavior */ |
| var CrPolicyPrefBehavior = { |
| + properties: { |
| + /** |
| + * Showing that an extension is controlling a pref is sometimes done with a |
|
stevenjb
2017/02/28 02:59:33
'In those'
|
| + * different UI (e.g. extension-controlled-indicator). In those cases, |
| + * avoid showing an (extra) indicator here. |
| + * @public |
| + */ |
| + ignoreExtensions: Boolean, |
|
Dan Beam
2017/02/28 02:30:03
ignoreControllingExtensions?
stevenjb
2017/02/28 02:59:33
FWIW, I kind of prefer just 'ignore-extensions', I
Dan Beam
2017/02/28 03:02:11
the context in this file. but look at other invoc
stevenjb
2017/02/28 19:56:28
I was taking other invocations into consideration.
Dan Beam
2017/02/28 20:00:38
aight, just making sure you saw them
|
| + }, |
| + |
| /** |
| + * Is the |pref| controlled by something that prevents user control of the |
| + * preference. |
| * @param {!chrome.settingsPrivate.PrefObject} pref |
| - * @return {boolean} True if the pref is controlled by an enforced policy. |
| + * @return {boolean} True if the pref is enforced. |
| */ |
| - isPrefPolicyControlled: function(pref) { |
|
dschuyler
2017/02/28 00:15:18
This is renamed as isPrefEnforced.
|
| - return pref.enforcement == chrome.settingsPrivate.Enforcement.ENFORCED && |
| - pref.controlledBy != chrome.settingsPrivate.ControlledBy.EXTENSION; |
| + isPrefEnforced: function(pref) { |
| + if (this.ignoreExtensions && |
| + pref.controlledBy == chrome.settingsPrivate.ControlledBy.EXTENSION) { |
| + return false; |
| + } |
| + return pref.enforcement == chrome.settingsPrivate.Enforcement.ENFORCED; |
|
dschuyler
2017/02/28 00:15:18
Lines 28 to 32 can be expressed in one line of log
Dan Beam
2017/02/28 02:30:03
eh, this is fine, it's very clear
stevenjb
2017/02/28 02:59:33
Make sure to merge this with Michael's change (I j
|
| }, |
| /** |
| @@ -24,6 +39,10 @@ var CrPolicyPrefBehavior = { |
| * and |enforcement|. |
| */ |
| getIndicatorType: function(controlledBy, enforcement) { |
| + if (this.ignoreExtensions && |
| + controlledBy == chrome.settingsPrivate.ControlledBy.EXTENSION) { |
| + return CrPolicyIndicatorType.NONE; |
| + } |
| if (enforcement == chrome.settingsPrivate.Enforcement.RECOMMENDED) |
| return CrPolicyIndicatorType.RECOMMENDED; |
| if (enforcement == chrome.settingsPrivate.Enforcement.ENFORCED) { |
| @@ -36,6 +55,8 @@ var CrPolicyPrefBehavior = { |
| return CrPolicyIndicatorType.USER_POLICY; |
| case chrome.settingsPrivate.ControlledBy.DEVICE_POLICY: |
| return CrPolicyIndicatorType.DEVICE_POLICY; |
| + case chrome.settingsPrivate.ControlledBy.EXTENSION: |
| + return CrPolicyIndicatorType.EXTENSION; |
| } |
| } |
| return CrPolicyIndicatorType.NONE; |