Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4685)

Unified Diff: chrome/browser/ui/webui/policy_ui.cc

Issue 56623005: Policy providers all get a SchemaRegistry to work with. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@chrome-policy-schema-9-purge-with-callback
Patch Set: Fixed mac tests Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 e2e833cac503f97f558584537e42b4b7d78bfd4b..72071e25c70718d37fe5f7a89a7f85ef31f6af5c 100644
--- a/chrome/browser/ui/webui/policy_ui.cc
+++ b/chrome/browser/ui/webui/policy_ui.cc
@@ -32,6 +32,9 @@
#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_service.h"
bartfab (slow) 2013/11/05 15:53:04 Nit: Not used (it appears as a return type in Sche
Joao da Silva 2013/11/07 13:15:00 It's needed to see that it's derived from SchemaR
+#include "chrome/browser/policy/schema_registry_service_factory.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/url_constants.h"
#include "content/public/browser/notification_observer.h"
@@ -61,7 +64,6 @@
#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/policy_domain_descriptor.h"
#include "chrome/common/extensions/extension.h"
#include "chrome/common/extensions/extension_set.h"
#include "components/policy/core/common/schema.h"
@@ -555,15 +557,17 @@ void PolicyUIHandler::SendPolicyNames() const {
#if !defined(OS_ANDROID) && !defined(OS_IOS)
// 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::FromWebUI(web_ui()));
+ extensions::ExtensionSystem::Get(profile);
const ExtensionSet* extensions =
extension_system->extension_service()->extensions();
- scoped_refptr<const policy::PolicyDomainDescriptor> policy_domain_descriptor;
- policy_domain_descriptor = GetPolicyService()->
- GetPolicyDomainDescriptor(policy::POLICY_DOMAIN_EXTENSIONS);
- const policy::PolicyDomainDescriptor::SchemaMap& schema_map =
- policy_domain_descriptor->components();
+
+ policy::SchemaRegistry* registry =
bartfab (slow) 2013/11/05 15:53:04 Nit: #include "chrome/browser/policy/schema_regist
Joao da Silva 2013/11/07 13:15:00 Done.
+ 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) {
@@ -574,17 +578,16 @@ void PolicyUIHandler::SendPolicyNames() const {
continue;
base::DictionaryValue* extension_value = new base::DictionaryValue;
extension_value->SetString("name", extension->name());
- policy::PolicyDomainDescriptor::SchemaMap::const_iterator schema =
- schema_map.find(extension->id());
+ const policy::Schema* schema =
+ schema_map->GetSchema(policy::PolicyNamespace(
+ policy::POLICY_DOMAIN_EXTENSIONS, extension->id()));
bartfab (slow) 2013/11/05 15:53:04 Nit: #include "components/policy/core/common/polic
Joao da Silva 2013/11/07 13:15:00 Done.
base::DictionaryValue* policy_names = new base::DictionaryValue;
- if (schema != schema_map.end()) {
+ if (schema) {
// Get policy names from the extension's policy schema.
// Store in a map, not an array, for faster lookup on JS side.
- policy::Schema policy_schema = schema->second;
- for (policy::Schema::Iterator it_policies =
- policy_schema.GetPropertiesIterator();
- !it_policies.IsAtEnd(); it_policies.Advance()) {
- policy_names->SetBoolean(it_policies.key(), true);
+ for (policy::Schema::Iterator prop = schema->GetPropertiesIterator();
+ !prop.IsAtEnd(); prop.Advance()) {
+ policy_names->SetBoolean(prop.key(), true);
}
}
extension_value->Set("policyNames", policy_names);

Powered by Google App Engine
This is Rietveld 408576698