| Index: extensions/renderer/extension_injection_host.cc
|
| diff --git a/extensions/renderer/extension_injection_host.cc b/extensions/renderer/extension_injection_host.cc
|
| index 16b0831b6e2f4bd72537678c6d324fd450ff0ced..ec75068ed1244a1eb31fbcb240ccedf80accbaac 100644
|
| --- a/extensions/renderer/extension_injection_host.cc
|
| +++ b/extensions/renderer/extension_injection_host.cc
|
| @@ -57,8 +57,10 @@ PermissionsData::AccessType ExtensionInjectionHost::CanExecuteOnFrame(
|
|
|
| blink::WebSecurityOrigin top_frame_security_origin =
|
| render_frame->GetWebFrame()->top()->securityOrigin();
|
| + // Only whitelisted extensions may run scripts on another extension's page.
|
| if (top_frame_security_origin.protocol().utf8() == kExtensionScheme &&
|
| - top_frame_security_origin.host().utf8() != extension_->id())
|
| + top_frame_security_origin.host().utf8() != extension_->id() &&
|
| + !PermissionsData::CanExecuteScriptEverywhere(extension_))
|
| return PermissionsData::ACCESS_DENIED;
|
|
|
| // Declarative user scripts use "page access" (from "permissions" section in
|
|
|