Index: chrome/browser/ui/webui/policy_ui.cc |
diff --git a/chrome/browser/ui/webui/policy_ui.cc b/chrome/browser/ui/webui/policy_ui.cc |
index 03d43485804641fe4dced0da2ec12c88bcb51905..fab61dd1b8403aca4ff622acadb3f67339b045c6 100644 |
--- a/chrome/browser/ui/webui/policy_ui.cc |
+++ b/chrome/browser/ui/webui/policy_ui.cc |
@@ -108,6 +108,7 @@ content::WebUIDataSource* CreatePolicyUIHTMLSource() { |
source->AddLocalizedString("headerName", IDS_POLICY_HEADER_NAME); |
source->AddLocalizedString("headerValue", IDS_POLICY_HEADER_VALUE); |
source->AddLocalizedString("headerStatus", IDS_POLICY_HEADER_STATUS); |
+ source->AddLocalizedString("headerSource", IDS_POLICY_HEADER_SOURCE); |
source->AddLocalizedString("showExpandedValue", |
IDS_POLICY_SHOW_EXPANDED_VALUE); |
source->AddLocalizedString("hideExpandedValue", |
@@ -116,6 +117,10 @@ content::WebUIDataSource* CreatePolicyUIHTMLSource() { |
source->AddLocalizedString("scopeDevice", IDS_POLICY_SCOPE_DEVICE); |
source->AddLocalizedString("levelRecommended", IDS_POLICY_LEVEL_RECOMMENDED); |
source->AddLocalizedString("levelMandatory", IDS_POLICY_LEVEL_MANDATORY); |
+ source->AddLocalizedString("sourceEnforced", IDS_POLICY_SOURCE_ENFORCED); |
+ source->AddLocalizedString("sourceEnterprise", IDS_POLICY_SOURCE_ENTERPRISE); |
+ source->AddLocalizedString("sourcePlatform", IDS_POLICY_SOURCE_PLATFORM); |
+ source->AddLocalizedString("sourceCloud", IDS_POLICY_SOURCE_CLOUD); |
source->AddLocalizedString("ok", IDS_POLICY_OK); |
source->AddLocalizedString("unset", IDS_POLICY_UNSET); |
source->AddLocalizedString("unknown", IDS_POLICY_UNKNOWN); |
@@ -402,6 +407,9 @@ class PolicyUIHandler : public content::WebUIMessageHandler, |
policy::PolicyErrorMap* errors, |
base::DictionaryValue* values) const; |
+ // Asks the profile's Pref_Service for the store that finally set the policy. |
Thiemo Nagel
2015/09/04 20:15:53
That comment seems bogus.
fhorschig
2015/09/07 14:09:33
Done.
|
+ std::string GetSourceName(const policy::PolicySource& source) const; |
+ |
void GetChromePolicyValues(base::DictionaryValue* values) const; |
void HandleInitialized(const base::ListValue* args); |
@@ -752,6 +760,7 @@ void PolicyUIHandler::GetPolicyValues(const policy::PolicyMap& map, |
value->SetString("level", "recommended"); |
else |
value->SetString("level", "mandatory"); |
+ value->SetString("source", GetSourceName(entry->second.source)); |
base::string16 error = errors->GetErrors(entry->first); |
if (!error.empty()) |
value->SetString("error", error); |
@@ -759,6 +768,22 @@ void PolicyUIHandler::GetPolicyValues(const policy::PolicyMap& map, |
} |
} |
+std::string PolicyUIHandler::GetSourceName( |
Thiemo Nagel
2015/09/04 20:15:53
Take a look at
https://codereview.chromium.org/38
fhorschig
2015/09/07 14:09:33
Done.
|
+ const policy::PolicySource& source) const { |
+ switch (source) { |
+ case policy::POLICY_SOURCE_ENTERPRISE_DEFAULT: |
+ return "sourceEnterprise"; |
+ case policy::POLICY_SOURCE_CLOUD: |
+ return "sourceCloud"; |
+ case policy::POLICY_SOURCE_PLATFORM: |
+ return "sourcePlatform"; |
+ case policy::POLICY_SOURCE_ENFORCED: |
+ return "sourceEnforced"; |
+ default: |
Thiemo Nagel
2015/09/04 20:15:53
Don't use a default case. This prevents the compi
fhorschig
2015/09/07 14:09:33
Done.
|
+ return ""; |
+ } |
+} |
+ |
void PolicyUIHandler::GetChromePolicyValues( |
base::DictionaryValue* values) const { |
policy::PolicyService* policy_service = GetPolicyService(); |