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 690 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
701 index < extensions::schema_constants::kAllowedTypesMapSize; | 701 index < extensions::schema_constants::kAllowedTypesMapSize; |
702 ++index) { | 702 ++index) { |
703 const extensions::schema_constants::AllowedTypesMapEntry& entry = | 703 const extensions::schema_constants::AllowedTypesMapEntry& entry = |
704 extensions::schema_constants::kAllowedTypesMap[index]; | 704 extensions::schema_constants::kAllowedTypesMap[index]; |
705 result->push_back( | 705 result->push_back( |
706 base::MakeUnique<StringMappingListPolicyHandler::MappingEntry>( | 706 base::MakeUnique<StringMappingListPolicyHandler::MappingEntry>( |
707 entry.name, std::unique_ptr<base::Value>( | 707 entry.name, std::unique_ptr<base::Value>( |
708 new base::FundamentalValue(entry.manifest_type)))); | 708 new base::FundamentalValue(entry.manifest_type)))); |
709 } | 709 } |
710 } | 710 } |
| 711 |
| 712 // Piggy-back kDeveloperToolsDisabled set to true to also force-disable |
| 713 // kExtensionsUIDeveloperMode. |
| 714 class DevToolsExtensionsUIPolicyHandler : public TypeCheckingPolicyHandler { |
| 715 public: |
| 716 DevToolsExtensionsUIPolicyHandler() |
| 717 : TypeCheckingPolicyHandler(key::kDeveloperToolsDisabled, |
| 718 base::Value::TYPE_BOOLEAN) {} |
| 719 ~DevToolsExtensionsUIPolicyHandler() override {} |
| 720 |
| 721 // ConfigurationPolicyHandler implementation: |
| 722 void ApplyPolicySettings(const PolicyMap& policies, |
| 723 PrefValueMap* prefs) override { |
| 724 const base::Value* value = policies.GetValue(policy_name()); |
| 725 bool developerToolsDisabled; |
| 726 if (value && |
| 727 value->GetAsBoolean(&developerToolsDisabled) && |
| 728 developerToolsDisabled) { |
| 729 prefs->SetValue( |
| 730 prefs::kExtensionsUIDeveloperMode, |
| 731 base::MakeUnique<base::FundamentalValue>(false)); |
| 732 } |
| 733 } |
| 734 |
| 735 private: |
| 736 DISALLOW_COPY_AND_ASSIGN(DevToolsExtensionsUIPolicyHandler); |
| 737 }; |
711 #endif | 738 #endif |
712 | 739 |
713 void GetDeprecatedFeaturesMap( | 740 void GetDeprecatedFeaturesMap( |
714 std::vector<std::unique_ptr<StringMappingListPolicyHandler::MappingEntry>>* | 741 std::vector<std::unique_ptr<StringMappingListPolicyHandler::MappingEntry>>* |
715 result) { | 742 result) { |
716 // Maps feature tags as specified in policy to the corresponding switch to | 743 // Maps feature tags as specified in policy to the corresponding switch to |
717 // re-enable them. | 744 // re-enable them. |
718 } | 745 } |
719 | 746 |
720 } // namespace | 747 } // namespace |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
786 handlers->AddHandler( | 813 handlers->AddHandler( |
787 base::MakeUnique<extensions::ExtensionURLPatternListPolicyHandler>( | 814 base::MakeUnique<extensions::ExtensionURLPatternListPolicyHandler>( |
788 key::kExtensionInstallSources, | 815 key::kExtensionInstallSources, |
789 extensions::pref_names::kAllowedInstallSites)); | 816 extensions::pref_names::kAllowedInstallSites)); |
790 handlers->AddHandler(base::MakeUnique<StringMappingListPolicyHandler>( | 817 handlers->AddHandler(base::MakeUnique<StringMappingListPolicyHandler>( |
791 key::kExtensionAllowedTypes, extensions::pref_names::kAllowedTypes, | 818 key::kExtensionAllowedTypes, extensions::pref_names::kAllowedTypes, |
792 base::Bind(GetExtensionAllowedTypesMap))); | 819 base::Bind(GetExtensionAllowedTypesMap))); |
793 handlers->AddHandler( | 820 handlers->AddHandler( |
794 base::MakeUnique<extensions::ExtensionSettingsPolicyHandler>( | 821 base::MakeUnique<extensions::ExtensionSettingsPolicyHandler>( |
795 chrome_schema)); | 822 chrome_schema)); |
| 823 handlers->AddHandler( |
| 824 base::MakeUnique<DevToolsExtensionsUIPolicyHandler>()); |
796 #endif | 825 #endif |
797 | 826 |
798 #if !defined(OS_CHROMEOS) && !defined(OS_ANDROID) | 827 #if !defined(OS_CHROMEOS) && !defined(OS_ANDROID) |
799 handlers->AddHandler(base::MakeUnique<DiskCacheDirPolicyHandler>()); | 828 handlers->AddHandler(base::MakeUnique<DiskCacheDirPolicyHandler>()); |
800 | 829 |
801 handlers->AddHandler( | 830 handlers->AddHandler( |
802 base::MakeUnique<extensions::NativeMessagingHostListPolicyHandler>( | 831 base::MakeUnique<extensions::NativeMessagingHostListPolicyHandler>( |
803 key::kNativeMessagingWhitelist, | 832 key::kNativeMessagingWhitelist, |
804 extensions::pref_names::kNativeMessagingWhitelist, false)); | 833 extensions::pref_names::kNativeMessagingWhitelist, false)); |
805 handlers->AddHandler( | 834 handlers->AddHandler( |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
928 #endif // defined(OS_CHROMEOS) | 957 #endif // defined(OS_CHROMEOS) |
929 | 958 |
930 #if BUILDFLAG(ENABLE_PLUGINS) | 959 #if BUILDFLAG(ENABLE_PLUGINS) |
931 handlers->AddHandler(base::MakeUnique<PluginPolicyHandler>()); | 960 handlers->AddHandler(base::MakeUnique<PluginPolicyHandler>()); |
932 #endif // BUILDFLAG(ENABLE_PLUGINS) | 961 #endif // BUILDFLAG(ENABLE_PLUGINS) |
933 | 962 |
934 return handlers; | 963 return handlers; |
935 } | 964 } |
936 | 965 |
937 } // namespace policy | 966 } // namespace policy |
OLD | NEW |