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

Side by Side Diff: chrome/browser/policy/configuration_policy_handler_list_factory.cc

Issue 2529083002: Make extensions developer mode adhere to policy (Closed)
Patch Set: Reviewers' comments Created 4 years 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 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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698