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

Side by Side Diff: chrome/browser/ui/webui/policy_ui.cc

Issue 58313002: Removed the PolicyDefinitionList. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@chrome-policy-schema-10-use-registry
Patch Set: rebase 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/webui/policy_ui.h" 5 #include "chrome/browser/ui/webui/policy_ui.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/callback.h" 9 #include "base/callback.h"
10 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
(...skipping 14 matching lines...) Expand all
25 #include "chrome/browser/policy/cloud/cloud_policy_validator.h" 25 #include "chrome/browser/policy/cloud/cloud_policy_validator.h"
26 #include "chrome/browser/policy/cloud/message_util.h" 26 #include "chrome/browser/policy/cloud/message_util.h"
27 #include "chrome/browser/policy/configuration_policy_handler_list.h" 27 #include "chrome/browser/policy/configuration_policy_handler_list.h"
28 #include "chrome/browser/policy/policy_error_map.h" 28 #include "chrome/browser/policy/policy_error_map.h"
29 #include "chrome/browser/policy/policy_map.h" 29 #include "chrome/browser/policy/policy_map.h"
30 #include "chrome/browser/policy/policy_service.h" 30 #include "chrome/browser/policy/policy_service.h"
31 #include "chrome/browser/policy/policy_types.h" 31 #include "chrome/browser/policy/policy_types.h"
32 #include "chrome/browser/policy/profile_policy_connector.h" 32 #include "chrome/browser/policy/profile_policy_connector.h"
33 #include "chrome/browser/policy/profile_policy_connector_factory.h" 33 #include "chrome/browser/policy/profile_policy_connector_factory.h"
34 #include "chrome/browser/policy/proto/cloud/device_management_backend.pb.h" 34 #include "chrome/browser/policy/proto/cloud/device_management_backend.pb.h"
35 #include "chrome/browser/policy/schema_map.h"
36 #include "chrome/browser/policy/schema_registry.h"
37 #include "chrome/browser/policy/schema_registry_service.h"
38 #include "chrome/browser/policy/schema_registry_service_factory.h"
35 #include "chrome/browser/profiles/profile.h" 39 #include "chrome/browser/profiles/profile.h"
36 #include "chrome/common/url_constants.h" 40 #include "chrome/common/url_constants.h"
37 #include "components/policy/core/common/policy_namespace.h" 41 #include "components/policy/core/common/policy_namespace.h"
42 #include "components/policy/core/common/schema.h"
38 #include "content/public/browser/notification_observer.h" 43 #include "content/public/browser/notification_observer.h"
39 #include "content/public/browser/notification_registrar.h" 44 #include "content/public/browser/notification_registrar.h"
40 #include "content/public/browser/notification_service.h" 45 #include "content/public/browser/notification_service.h"
41 #include "content/public/browser/web_ui.h" 46 #include "content/public/browser/web_ui.h"
42 #include "content/public/browser/web_ui_data_source.h" 47 #include "content/public/browser/web_ui_data_source.h"
43 #include "content/public/browser/web_ui_message_handler.h" 48 #include "content/public/browser/web_ui_message_handler.h"
44 #include "google_apis/gaia/gaia_auth_util.h" 49 #include "google_apis/gaia/gaia_auth_util.h"
45 #include "grit/browser_resources.h" 50 #include "grit/browser_resources.h"
46 #include "grit/generated_resources.h" 51 #include "grit/generated_resources.h"
47 #include "policy/policy_constants.h" 52 #include "policy/policy_constants.h"
48 #include "ui/base/l10n/l10n_util.h" 53 #include "ui/base/l10n/l10n_util.h"
49 #include "ui/base/l10n/time_format.h" 54 #include "ui/base/l10n/time_format.h"
50 55
51 #if defined(OS_CHROMEOS) 56 #if defined(OS_CHROMEOS)
52 #include "chrome/browser/chromeos/login/user_manager.h" 57 #include "chrome/browser/chromeos/login/user_manager.h"
53 #include "chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h" 58 #include "chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h"
54 #include "chrome/browser/chromeos/policy/device_local_account_policy_service.h" 59 #include "chrome/browser/chromeos/policy/device_local_account_policy_service.h"
55 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h" 60 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h"
56 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chrom eos.h" 61 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chrom eos.h"
57 #else 62 #else
58 #include "chrome/browser/policy/cloud/user_cloud_policy_manager.h" 63 #include "chrome/browser/policy/cloud/user_cloud_policy_manager.h"
59 #include "chrome/browser/policy/cloud/user_cloud_policy_manager_factory.h" 64 #include "chrome/browser/policy/cloud/user_cloud_policy_manager_factory.h"
60 #include "content/public/browser/web_contents.h" 65 #include "content/public/browser/web_contents.h"
61 #endif 66 #endif
62 67
63 #if !defined(OS_ANDROID) && !defined(OS_IOS) 68 #if !defined(OS_ANDROID) && !defined(OS_IOS)
64 #include "chrome/browser/extensions/extension_service.h" 69 #include "chrome/browser/extensions/extension_service.h"
65 #include "chrome/browser/extensions/extension_system.h" 70 #include "chrome/browser/extensions/extension_system.h"
66 #include "chrome/browser/policy/schema_map.h"
67 #include "chrome/browser/policy/schema_registry.h"
68 #include "chrome/browser/policy/schema_registry_service.h"
69 #include "chrome/browser/policy/schema_registry_service_factory.h"
70 #include "chrome/common/extensions/extension.h" 71 #include "chrome/common/extensions/extension.h"
71 #include "chrome/common/extensions/extension_set.h" 72 #include "chrome/common/extensions/extension_set.h"
72 #include "components/policy/core/common/schema.h"
73 #include "extensions/common/manifest.h" 73 #include "extensions/common/manifest.h"
74 #include "extensions/common/manifest_constants.h" 74 #include "extensions/common/manifest_constants.h"
75 #endif 75 #endif
76 76
77 namespace em = enterprise_management; 77 namespace em = enterprise_management;
78 78
79 namespace { 79 namespace {
80 80
81 content::WebUIDataSource* CreatePolicyUIHTMLSource() { 81 content::WebUIDataSource* CreatePolicyUIHTMLSource() {
82 content::WebUIDataSource* source = 82 content::WebUIDataSource* source =
(...skipping 457 matching lines...) Expand 10 before | Expand all | Expand 10 after
540 540
541 void PolicyUIHandler::OnPolicyUpdated(const policy::PolicyNamespace& ns, 541 void PolicyUIHandler::OnPolicyUpdated(const policy::PolicyNamespace& ns,
542 const policy::PolicyMap& previous, 542 const policy::PolicyMap& previous,
543 const policy::PolicyMap& current) { 543 const policy::PolicyMap& current) {
544 SendPolicyValues(); 544 SendPolicyValues();
545 } 545 }
546 546
547 void PolicyUIHandler::SendPolicyNames() const { 547 void PolicyUIHandler::SendPolicyNames() const {
548 base::DictionaryValue names; 548 base::DictionaryValue names;
549 549
550 Profile* profile = Profile::FromWebUI(web_ui());
551 policy::SchemaRegistry* registry =
552 policy::SchemaRegistryServiceFactory::GetForContext(
553 profile->GetOriginalProfile());
554 scoped_refptr<policy::SchemaMap> schema_map = registry->schema_map();
555
550 // Add Chrome policy names. 556 // Add Chrome policy names.
551 base::DictionaryValue* chrome_policy_names = new base::DictionaryValue; 557 base::DictionaryValue* chrome_policy_names = new base::DictionaryValue;
552 const policy::PolicyDefinitionList* list = 558 policy::PolicyNamespace chrome_ns(policy::POLICY_DOMAIN_CHROME, "");
553 policy::GetChromePolicyDefinitionList(); 559 const policy::Schema* chrome_schema = schema_map->GetSchema(chrome_ns);
554 for (const policy::PolicyDefinitionList::Entry* entry = list->begin; 560 for (policy::Schema::Iterator it = chrome_schema->GetPropertiesIterator();
555 entry != list->end; ++entry) { 561 !it.IsAtEnd(); it.Advance()) {
556 chrome_policy_names->SetBoolean(entry->name, true); 562 chrome_policy_names->SetBoolean(it.key(), true);
557 } 563 }
558 names.Set("chromePolicyNames", chrome_policy_names); 564 names.Set("chromePolicyNames", chrome_policy_names);
559 565
560 #if !defined(OS_ANDROID) && !defined(OS_IOS) 566 #if !defined(OS_ANDROID) && !defined(OS_IOS)
561 // Add extension policy names. 567 // Add extension policy names.
562 base::DictionaryValue* extension_policy_names = new base::DictionaryValue; 568 base::DictionaryValue* extension_policy_names = new base::DictionaryValue;
563 569
564 Profile* profile = Profile::FromWebUI(web_ui());
565 extensions::ExtensionSystem* extension_system = 570 extensions::ExtensionSystem* extension_system =
566 extensions::ExtensionSystem::Get(profile); 571 extensions::ExtensionSystem::Get(profile);
567 const ExtensionSet* extensions = 572 const ExtensionSet* extensions =
568 extension_system->extension_service()->extensions(); 573 extension_system->extension_service()->extensions();
569 574
570 policy::SchemaRegistry* registry =
571 policy::SchemaRegistryServiceFactory::GetForContext(
572 profile->GetOriginalProfile());
573 scoped_refptr<policy::SchemaMap> schema_map = registry->schema_map();
574
575 for (ExtensionSet::const_iterator it = extensions->begin(); 575 for (ExtensionSet::const_iterator it = extensions->begin();
576 it != extensions->end(); ++it) { 576 it != extensions->end(); ++it) {
577 const extensions::Extension* extension = it->get(); 577 const extensions::Extension* extension = it->get();
578 // Skip this extension if it's not an enterprise extension. 578 // Skip this extension if it's not an enterprise extension.
579 if (!extension->manifest()->HasPath( 579 if (!extension->manifest()->HasPath(
580 extensions::manifest_keys::kStorageManagedSchema)) 580 extensions::manifest_keys::kStorageManagedSchema))
581 continue; 581 continue;
582 base::DictionaryValue* extension_value = new base::DictionaryValue; 582 base::DictionaryValue* extension_value = new base::DictionaryValue;
583 extension_value->SetString("name", extension->name()); 583 extension_value->SetString("name", extension->name());
584 const policy::Schema* schema = 584 const policy::Schema* schema =
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
725 } 725 }
726 726
727 PolicyUI::PolicyUI(content::WebUI* web_ui) : WebUIController(web_ui) { 727 PolicyUI::PolicyUI(content::WebUI* web_ui) : WebUIController(web_ui) {
728 web_ui->AddMessageHandler(new PolicyUIHandler); 728 web_ui->AddMessageHandler(new PolicyUIHandler);
729 content::WebUIDataSource::Add(Profile::FromWebUI(web_ui), 729 content::WebUIDataSource::Add(Profile::FromWebUI(web_ui),
730 CreatePolicyUIHTMLSource()); 730 CreatePolicyUIHTMLSource());
731 } 731 }
732 732
733 PolicyUI::~PolicyUI() { 733 PolicyUI::~PolicyUI() {
734 } 734 }
OLDNEW
« no previous file with comments | « chrome/browser/policy/test/policy_test_utils.cc ('k') | chrome/browser/ui/webui/policy_ui_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698