Index: chrome/browser/extensions/api/management/management_api.cc |
diff --git a/chrome/browser/extensions/api/management/management_api.cc b/chrome/browser/extensions/api/management/management_api.cc |
index 5119eb8ccef21c217022fdbb8152645110dd76fb..95a4863e613b96cf2cf808f5c2dee8f293c09281 100644 |
--- a/chrome/browser/extensions/api/management/management_api.cc |
+++ b/chrome/browser/extensions/api/management/management_api.cc |
@@ -471,7 +471,9 @@ bool ManagementSetEnabledFunction::RunImpl() { |
const ManagementPolicy* policy = |
ExtensionSystem::Get(GetProfile())->management_policy(); |
- if (!policy->UserMayModifySettings(extension, NULL)) { |
+ if (!policy->UserMayModifySettings(extension, NULL) || |
+ (!params->enabled && policy->MustRemainEnabled(extension, NULL)) || |
+ (params->enabled && policy->MustRemainDisabled(extension, NULL, NULL))) { |
error_ = ErrorUtils::FormatErrorMessage( |
keys::kUserCantModifyError, extension_id_); |
return false; |