| 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 7494c916efd01298aa59e12b24d92956f22a34e3..d343f15e353d1bce4af4e1d9246c590d666ff7ac 100644
|
| --- a/chrome/browser/ui/webui/policy_ui.cc
|
| +++ b/chrome/browser/ui/webui/policy_ui.cc
|
| @@ -32,9 +32,14 @@
|
| #include "chrome/browser/policy/profile_policy_connector.h"
|
| #include "chrome/browser/policy/profile_policy_connector_factory.h"
|
| #include "chrome/browser/policy/proto/cloud/device_management_backend.pb.h"
|
| +#include "chrome/browser/policy/schema_map.h"
|
| +#include "chrome/browser/policy/schema_registry.h"
|
| +#include "chrome/browser/policy/schema_registry_service.h"
|
| +#include "chrome/browser/policy/schema_registry_service_factory.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| #include "chrome/common/url_constants.h"
|
| #include "components/policy/core/common/policy_namespace.h"
|
| +#include "components/policy/core/common/schema.h"
|
| #include "content/public/browser/notification_observer.h"
|
| #include "content/public/browser/notification_registrar.h"
|
| #include "content/public/browser/notification_service.h"
|
| @@ -63,13 +68,8 @@
|
| #if !defined(OS_ANDROID) && !defined(OS_IOS)
|
| #include "chrome/browser/extensions/extension_service.h"
|
| #include "chrome/browser/extensions/extension_system.h"
|
| -#include "chrome/browser/policy/schema_map.h"
|
| -#include "chrome/browser/policy/schema_registry.h"
|
| -#include "chrome/browser/policy/schema_registry_service.h"
|
| -#include "chrome/browser/policy/schema_registry_service_factory.h"
|
| #include "chrome/common/extensions/extension.h"
|
| #include "chrome/common/extensions/extension_set.h"
|
| -#include "components/policy/core/common/schema.h"
|
| #include "extensions/common/manifest.h"
|
| #include "extensions/common/manifest_constants.h"
|
| #endif
|
| @@ -547,13 +547,19 @@ void PolicyUIHandler::OnPolicyUpdated(const policy::PolicyNamespace& ns,
|
| void PolicyUIHandler::SendPolicyNames() const {
|
| base::DictionaryValue names;
|
|
|
| + Profile* profile = Profile::FromWebUI(web_ui());
|
| + policy::SchemaRegistry* registry =
|
| + policy::SchemaRegistryServiceFactory::GetForContext(
|
| + profile->GetOriginalProfile());
|
| + scoped_refptr<policy::SchemaMap> schema_map = registry->schema_map();
|
| +
|
| // Add Chrome policy names.
|
| base::DictionaryValue* chrome_policy_names = new base::DictionaryValue;
|
| - const policy::PolicyDefinitionList* list =
|
| - policy::GetChromePolicyDefinitionList();
|
| - for (const policy::PolicyDefinitionList::Entry* entry = list->begin;
|
| - entry != list->end; ++entry) {
|
| - chrome_policy_names->SetBoolean(entry->name, true);
|
| + policy::PolicyNamespace chrome_ns(policy::POLICY_DOMAIN_CHROME, "");
|
| + const policy::Schema* chrome_schema = schema_map->GetSchema(chrome_ns);
|
| + for (policy::Schema::Iterator it = chrome_schema->GetPropertiesIterator();
|
| + !it.IsAtEnd(); it.Advance()) {
|
| + chrome_policy_names->SetBoolean(it.key(), true);
|
| }
|
| names.Set("chromePolicyNames", chrome_policy_names);
|
|
|
| @@ -561,17 +567,11 @@ void PolicyUIHandler::SendPolicyNames() const {
|
| // Add extension policy names.
|
| base::DictionaryValue* extension_policy_names = new base::DictionaryValue;
|
|
|
| - Profile* profile = Profile::FromWebUI(web_ui());
|
| extensions::ExtensionSystem* extension_system =
|
| extensions::ExtensionSystem::Get(profile);
|
| const ExtensionSet* extensions =
|
| extension_system->extension_service()->extensions();
|
|
|
| - policy::SchemaRegistry* registry =
|
| - policy::SchemaRegistryServiceFactory::GetForContext(
|
| - profile->GetOriginalProfile());
|
| - scoped_refptr<policy::SchemaMap> schema_map = registry->schema_map();
|
| -
|
| for (ExtensionSet::const_iterator it = extensions->begin();
|
| it != extensions->end(); ++it) {
|
| const extensions::Extension* extension = it->get();
|
|
|