Index: extensions/common/permissions/permissions_data.cc |
diff --git a/extensions/common/permissions/permissions_data.cc b/extensions/common/permissions/permissions_data.cc |
index 809865d46fafd862e15bff12e07a6504ab3331b7..65359d9950954bd8496fa38b5d6b1dfff2da1c5f 100644 |
--- a/extensions/common/permissions/permissions_data.cc |
+++ b/extensions/common/permissions/permissions_data.cc |
@@ -564,8 +564,12 @@ bool PermissionsData::CanCaptureVisiblePage(const Extension* extension, |
bool PermissionsData::RequiresActionForScriptExecution( |
const Extension* extension) { |
// For now, the user should be notified when an extension with all hosts |
- // permission tries to execute a script on a page. |
- return HasEffectiveAccessToAllHosts(extension); |
+ // permission tries to execute a script on a page. Exceptions for policy- |
+ // enabled and component extensions. |
+ return extension->ShouldDisplayInExtensionSettings() && |
+ !Manifest::IsPolicyLocation(extension->location()) && |
+ !Manifest::IsComponentLocation(extension->location()) && |
+ HasEffectiveAccessToAllHosts(extension); |
} |
bool PermissionsData::ParsePermissions(Extension* extension, |