Index: chrome/browser/ui/extensions/extension_enable_flow.cc |
diff --git a/chrome/browser/ui/extensions/extension_enable_flow.cc b/chrome/browser/ui/extensions/extension_enable_flow.cc |
index 8e305e7931f2e8d5f8ca71187691b3ccf6e5c91c..208f72a9136c4e6c508f4c8aa0964f750d5afce2 100644 |
--- a/chrome/browser/ui/extensions/extension_enable_flow.cc |
+++ b/chrome/browser/ui/extensions/extension_enable_flow.cc |
@@ -6,6 +6,7 @@ |
#include "chrome/browser/chrome_notification_types.h" |
#include "chrome/browser/extensions/extension_service.h" |
+#include "chrome/browser/extensions/extension_util.h" |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/ui/extensions/extension_enable_flow_delegate.h" |
#include "content/public/browser/notification_details.h" |
@@ -87,6 +88,12 @@ void ExtensionEnableFlow::CheckPermissionAndMaybePromptUser() { |
return; |
} |
+ // Supervised users can't re-enable custodian-installed extensions. |
+ if (extensions::util::IsExtensionSupervised(extension, profile_)) { |
+ delegate_->ExtensionEnableFlowAborted(false); // |delegate_| may delete us. |
+ return; |
+ } |
+ |
extensions::ExtensionPrefs* prefs = extensions::ExtensionPrefs::Get(profile_); |
if (!prefs->DidExtensionEscalatePermissions(extension_id_)) { |
// Enable the extension immediately if its privileges weren't escalated. |