| Index: extensions/renderer/user_script_injector.cc
|
| diff --git a/extensions/renderer/user_script_injector.cc b/extensions/renderer/user_script_injector.cc
|
| index c3e15ef36e909c4a9cd0ec3568f226e1ce252587..8bcdb3eba25335e33991c9612e50a82c25fd6179 100644
|
| --- a/extensions/renderer/user_script_injector.cc
|
| +++ b/extensions/renderer/user_script_injector.cc
|
| @@ -8,6 +8,7 @@
|
|
|
| #include "base/lazy_instance.h"
|
| #include "content/public/common/url_constants.h"
|
| +#include "content/public/renderer/render_view.h"
|
| #include "extensions/common/extension.h"
|
| #include "extensions/common/permissions/permissions_data.h"
|
| #include "extensions/renderer/injection_host.h"
|
| @@ -127,6 +128,15 @@ PermissionsData::AccessType UserScriptInjector::CanExecuteOnFrame(
|
| blink::WebFrame* web_frame,
|
| int tab_id,
|
| const GURL& top_url) const {
|
| + if (script_->consumer_instance_type() ==
|
| + UserScript::ConsumerInstanceType::WEBVIEW) {
|
| + int routing_id = content::RenderView::FromWebView(web_frame->top()->view())
|
| + ->GetRoutingID();
|
| + return script_->routing_info().render_view_id == routing_id
|
| + ? PermissionsData::ACCESS_ALLOWED
|
| + : PermissionsData::ACCESS_DENIED;
|
| + }
|
| +
|
| // If we don't have a tab id, we have no UI surface to ask for user consent.
|
| // For now, we treat this as an automatic allow.
|
| if (tab_id == -1)
|
|
|