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

Unified Diff: chrome/browser/policy/configuration_policy_handler_list_factory.cc

Issue 2529083002: Make extensions developer mode adhere to policy (Closed)
Patch Set: Rebase 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/policy/configuration_policy_handler_list_factory.cc
diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
index 2a6be9e837313660c0a937b99ddaeea48b75a44d..d419d89617ab967cc393b067617d191c8a235dd0 100644
--- a/chrome/browser/policy/configuration_policy_handler_list_factory.cc
+++ b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
@@ -712,6 +712,31 @@ void GetExtensionAllowedTypesMap(
new base::FundamentalValue(entry.manifest_type))));
}
}
+
+// Piggy-back kDeveloperToolsDisabled set to true to also force-disable
+// kExtensionsUIDeveloperMode.
+class DevToolsExtensionsUIPolicyHandler : public TypeCheckingPolicyHandler {
+ public:
+ DevToolsExtensionsUIPolicyHandler()
+ : TypeCheckingPolicyHandler(key::kDeveloperToolsDisabled,
+ base::Value::Type::BOOLEAN) {}
+ ~DevToolsExtensionsUIPolicyHandler() override {}
+
+ // ConfigurationPolicyHandler implementation:
+ void ApplyPolicySettings(const PolicyMap& policies,
+ PrefValueMap* prefs) override {
+ const base::Value* value = policies.GetValue(policy_name());
+ bool developerToolsDisabled;
+ if (value && value->GetAsBoolean(&developerToolsDisabled) &&
+ developerToolsDisabled) {
+ prefs->SetValue(prefs::kExtensionsUIDeveloperMode,
+ base::MakeUnique<base::FundamentalValue>(false));
+ }
+ }
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(DevToolsExtensionsUIPolicyHandler);
+};
#endif
void GetDeprecatedFeaturesMap(
@@ -798,6 +823,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildHandlerList(
handlers->AddHandler(
base::MakeUnique<extensions::ExtensionSettingsPolicyHandler>(
chrome_schema));
+ handlers->AddHandler(base::MakeUnique<DevToolsExtensionsUIPolicyHandler>());
#endif
#if !defined(OS_CHROMEOS) && !defined(OS_ANDROID)
« no previous file with comments | « chrome/browser/extensions/extension_service_test_base.cc ('k') | chrome/browser/policy/policy_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698