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

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: Guard against Preference not being found 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 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 base::Value::TYPE_BOOLEAN }, 149 base::Value::TYPE_BOOLEAN },
150 { key::kShowHomeButton, 150 { key::kShowHomeButton,
151 prefs::kShowHomeButton, 151 prefs::kShowHomeButton,
152 base::Value::TYPE_BOOLEAN }, 152 base::Value::TYPE_BOOLEAN },
153 { key::kSavingBrowserHistoryDisabled, 153 { key::kSavingBrowserHistoryDisabled,
154 prefs::kSavingBrowserHistoryDisabled, 154 prefs::kSavingBrowserHistoryDisabled,
155 base::Value::TYPE_BOOLEAN }, 155 base::Value::TYPE_BOOLEAN },
156 { key::kAllowDeletingBrowserHistory, 156 { key::kAllowDeletingBrowserHistory,
157 prefs::kAllowDeletingBrowserHistory, 157 prefs::kAllowDeletingBrowserHistory,
158 base::Value::TYPE_BOOLEAN }, 158 base::Value::TYPE_BOOLEAN },
159 { key::kDeveloperToolsDisabled, 159 { key::kDeveloperToolsDisabled,
Bernhard Bauer 2016/11/28 17:11:03 Could you just duplicate this entry with prefs::kE
pmarko 2016/11/29 12:40:21 Actually, I don't think I could - the issue is tha
160 prefs::kDevToolsDisabled, 160 prefs::kDevToolsDisabled,
161 base::Value::TYPE_BOOLEAN }, 161 base::Value::TYPE_BOOLEAN },
162 { key::kBlockThirdPartyCookies, 162 { key::kBlockThirdPartyCookies,
163 prefs::kBlockThirdPartyCookies, 163 prefs::kBlockThirdPartyCookies,
164 base::Value::TYPE_BOOLEAN }, 164 base::Value::TYPE_BOOLEAN },
165 { key::kDefaultCookiesSetting, 165 { key::kDefaultCookiesSetting,
166 prefs::kManagedDefaultCookiesSetting, 166 prefs::kManagedDefaultCookiesSetting,
167 base::Value::TYPE_INTEGER }, 167 base::Value::TYPE_INTEGER },
168 { key::kDefaultImagesSetting, 168 { key::kDefaultImagesSetting,
169 prefs::kManagedDefaultImagesSetting, 169 prefs::kManagedDefaultImagesSetting,
(...skipping 531 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