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..91b609c64040e3acdee7bcaeb62066b47aa1db4e 100644 |
--- a/chrome/browser/ui/webui/policy_ui.cc |
+++ b/chrome/browser/ui/webui/policy_ui.cc |
@@ -12,6 +12,7 @@ |
#include "base/logging.h" |
#include "base/memory/scoped_ptr.h" |
#include "base/memory/weak_ptr.h" |
+#include "base/prefs/pref_service.h" |
Thiemo Nagel
2015/09/01 17:40:36
What is this required for?
fhorschig
2015/09/04 06:53:53
Deprecated. Removed.
|
#include "base/strings/string16.h" |
#include "base/time/time.h" |
#include "base/values.h" |
@@ -108,6 +109,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 +118,9 @@ 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("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. |
+ 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,20 @@ void PolicyUIHandler::GetPolicyValues(const policy::PolicyMap& map, |
} |
} |
+std::string PolicyUIHandler::GetSourceName( |
+ 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"; |
+ default: |
+ return ""; |
+ } |
+} |
+ |
void PolicyUIHandler::GetChromePolicyValues( |
base::DictionaryValue* values) const { |
policy::PolicyService* policy_service = GetPolicyService(); |