OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/policy/configuration_policy_handler_list_factory.h" | 5 #include "chrome/browser/policy/configuration_policy_handler_list_factory.h" |
6 | 6 |
7 #include <limits.h> | 7 #include <limits.h> |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 | 9 |
10 #include <utility> | 10 #include <utility> |
(...skipping 694 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
705 index < extensions::schema_constants::kAllowedTypesMapSize; | 705 index < extensions::schema_constants::kAllowedTypesMapSize; |
706 ++index) { | 706 ++index) { |
707 const extensions::schema_constants::AllowedTypesMapEntry& entry = | 707 const extensions::schema_constants::AllowedTypesMapEntry& entry = |
708 extensions::schema_constants::kAllowedTypesMap[index]; | 708 extensions::schema_constants::kAllowedTypesMap[index]; |
709 result->push_back( | 709 result->push_back( |
710 base::MakeUnique<StringMappingListPolicyHandler::MappingEntry>( | 710 base::MakeUnique<StringMappingListPolicyHandler::MappingEntry>( |
711 entry.name, std::unique_ptr<base::Value>( | 711 entry.name, std::unique_ptr<base::Value>( |
712 new base::FundamentalValue(entry.manifest_type)))); | 712 new base::FundamentalValue(entry.manifest_type)))); |
713 } | 713 } |
714 } | 714 } |
| 715 |
| 716 // Piggy-back kDeveloperToolsDisabled set to true to also force-disable |
| 717 // kExtensionsUIDeveloperMode. |
| 718 class DevToolsExtensionsUIPolicyHandler : public TypeCheckingPolicyHandler { |
| 719 public: |
| 720 DevToolsExtensionsUIPolicyHandler() |
| 721 : TypeCheckingPolicyHandler(key::kDeveloperToolsDisabled, |
| 722 base::Value::Type::BOOLEAN) {} |
| 723 ~DevToolsExtensionsUIPolicyHandler() override {} |
| 724 |
| 725 // ConfigurationPolicyHandler implementation: |
| 726 void ApplyPolicySettings(const PolicyMap& policies, |
| 727 PrefValueMap* prefs) override { |
| 728 const base::Value* value = policies.GetValue(policy_name()); |
| 729 bool developerToolsDisabled; |
| 730 if (value && value->GetAsBoolean(&developerToolsDisabled) && |
| 731 developerToolsDisabled) { |
| 732 prefs->SetValue(prefs::kExtensionsUIDeveloperMode, |
| 733 base::MakeUnique<base::FundamentalValue>(false)); |
| 734 } |
| 735 } |
| 736 |
| 737 private: |
| 738 DISALLOW_COPY_AND_ASSIGN(DevToolsExtensionsUIPolicyHandler); |
| 739 }; |
715 #endif | 740 #endif |
716 | 741 |
717 void GetDeprecatedFeaturesMap( | 742 void GetDeprecatedFeaturesMap( |
718 std::vector<std::unique_ptr<StringMappingListPolicyHandler::MappingEntry>>* | 743 std::vector<std::unique_ptr<StringMappingListPolicyHandler::MappingEntry>>* |
719 result) { | 744 result) { |
720 // Maps feature tags as specified in policy to the corresponding switch to | 745 // Maps feature tags as specified in policy to the corresponding switch to |
721 // re-enable them. | 746 // re-enable them. |
722 } | 747 } |
723 | 748 |
724 } // namespace | 749 } // namespace |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
791 handlers->AddHandler( | 816 handlers->AddHandler( |
792 base::MakeUnique<extensions::ExtensionURLPatternListPolicyHandler>( | 817 base::MakeUnique<extensions::ExtensionURLPatternListPolicyHandler>( |
793 key::kExtensionInstallSources, | 818 key::kExtensionInstallSources, |
794 extensions::pref_names::kAllowedInstallSites)); | 819 extensions::pref_names::kAllowedInstallSites)); |
795 handlers->AddHandler(base::MakeUnique<StringMappingListPolicyHandler>( | 820 handlers->AddHandler(base::MakeUnique<StringMappingListPolicyHandler>( |
796 key::kExtensionAllowedTypes, extensions::pref_names::kAllowedTypes, | 821 key::kExtensionAllowedTypes, extensions::pref_names::kAllowedTypes, |
797 base::Bind(GetExtensionAllowedTypesMap))); | 822 base::Bind(GetExtensionAllowedTypesMap))); |
798 handlers->AddHandler( | 823 handlers->AddHandler( |
799 base::MakeUnique<extensions::ExtensionSettingsPolicyHandler>( | 824 base::MakeUnique<extensions::ExtensionSettingsPolicyHandler>( |
800 chrome_schema)); | 825 chrome_schema)); |
| 826 handlers->AddHandler(base::MakeUnique<DevToolsExtensionsUIPolicyHandler>()); |
801 #endif | 827 #endif |
802 | 828 |
803 #if !defined(OS_CHROMEOS) && !defined(OS_ANDROID) | 829 #if !defined(OS_CHROMEOS) && !defined(OS_ANDROID) |
804 handlers->AddHandler(base::MakeUnique<DiskCacheDirPolicyHandler>()); | 830 handlers->AddHandler(base::MakeUnique<DiskCacheDirPolicyHandler>()); |
805 | 831 |
806 handlers->AddHandler( | 832 handlers->AddHandler( |
807 base::MakeUnique<extensions::NativeMessagingHostListPolicyHandler>( | 833 base::MakeUnique<extensions::NativeMessagingHostListPolicyHandler>( |
808 key::kNativeMessagingWhitelist, | 834 key::kNativeMessagingWhitelist, |
809 extensions::pref_names::kNativeMessagingWhitelist, false)); | 835 extensions::pref_names::kNativeMessagingWhitelist, false)); |
810 handlers->AddHandler( | 836 handlers->AddHandler( |
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
934 #endif // defined(OS_CHROMEOS) | 960 #endif // defined(OS_CHROMEOS) |
935 | 961 |
936 #if BUILDFLAG(ENABLE_PLUGINS) | 962 #if BUILDFLAG(ENABLE_PLUGINS) |
937 handlers->AddHandler(base::MakeUnique<PluginPolicyHandler>()); | 963 handlers->AddHandler(base::MakeUnique<PluginPolicyHandler>()); |
938 #endif // BUILDFLAG(ENABLE_PLUGINS) | 964 #endif // BUILDFLAG(ENABLE_PLUGINS) |
939 | 965 |
940 return handlers; | 966 return handlers; |
941 } | 967 } |
942 | 968 |
943 } // namespace policy | 969 } // namespace policy |
OLD | NEW |