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

Unified 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 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 894c04a548d845cb91eff2265a28fc5c701bbb6c..3695f59e3277f6258c0ed8bda1bf527b3e9f8bca 100644
--- a/chrome/browser/policy/configuration_policy_handler_list_factory.cc
+++ b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
@@ -708,6 +708,33 @@ 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(
@@ -793,6 +820,8 @@ 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)

Powered by Google App Engine
This is Rietveld 408576698