Index: ui/webui/resources/cr_elements/v1_0/policy/cr_policy_pref_behavior.js |
diff --git a/ui/webui/resources/cr_elements/v1_0/policy/cr_policy_pref_behavior.js b/ui/webui/resources/cr_elements/v1_0/policy/cr_policy_pref_behavior.js |
index 6aa3d39853077b535c00b2b2eb56030cc5bab78d..d8897da69b91199f611fccf195fac55a01696e59 100644 |
--- a/ui/webui/resources/cr_elements/v1_0/policy/cr_policy_pref_behavior.js |
+++ b/ui/webui/resources/cr_elements/v1_0/policy/cr_policy_pref_behavior.js |
@@ -16,4 +16,30 @@ var CrPolicyPrefBehavior = { |
return pref.policyEnforcement == |
chrome.settingsPrivate.PolicyEnforcement.ENFORCED; |
}, |
+ |
+ /** |
+ * @param {chrome.settingsPrivate.PolicySource} source |
+ * @param {chrome.settingsPrivate.PolicyEnforcement} enforcement |
+ * @return {CrPolicyIndicatorType} The indicator type based on |source| and |
+ * |enforcement|. |
+ */ |
+ getIndicatorType: function(source, enforcement) { |
+ if (enforcement == chrome.settingsPrivate.PolicyEnforcement.RECOMMENDED) |
+ return CrPolicyIndicatorType.RECOMMENDED; |
+ if (enforcement == chrome.settingsPrivate.PolicyEnforcement.ENFORCED) { |
+ switch (source) { |
+ case chrome.settingsPrivate.PolicySource.PRIMARY_USER: |
+ return CrPolicyIndicatorType.PRIMARY_USER; |
+ case chrome.settingsPrivate.PolicySource.OWNER: |
+ return CrPolicyIndicatorType.OWNER; |
+ case chrome.settingsPrivate.PolicySource.USER_POLICY: |
+ return CrPolicyIndicatorType.USER_POLICY; |
+ case chrome.settingsPrivate.PolicySource.DEVICE_POLICY: |
+ return CrPolicyIndicatorType.DEVICE_POLICY; |
+ case chrome.settingsPrivate.PolicySource.EXTENSION: |
+ return CrPolicyIndicatorType.EXTENSION; |
+ } |
+ } |
+ return CrPolicyIndicatorType.NONE; |
+ }, |
}; |