Index: extensions/renderer/script_injection.cc |
diff --git a/extensions/renderer/script_injection.cc b/extensions/renderer/script_injection.cc |
index c3d8ac65bd7269f4a60216e1e8bf25a3cfe68edd..6dbf2c0c0d9cfb184abd23e3f07cc26a15340caa 100644 |
--- a/extensions/renderer/script_injection.cc |
+++ b/extensions/renderer/script_injection.cc |
@@ -123,13 +123,13 @@ ScriptInjection::ScriptInjection( |
scoped_ptr<ScriptInjector> injector, |
blink::WebLocalFrame* web_frame, |
const HostID& host_id, |
- int instance_id, |
+ const ConsumerInstanceInfo& consumer_instance_info, |
UserScript::RunLocation run_location, |
int tab_id) |
: injector_(injector.Pass()), |
web_frame_(web_frame), |
host_id_(host_id), |
- instance_id_(instance_id), |
+ consumer_instance_info_(consumer_instance_info), |
run_location_(run_location), |
tab_id_(tab_id), |
request_id_(kInvalidRequestId), |
@@ -190,8 +190,11 @@ void ScriptInjection::RequestPermission() { |
// If we are just notifying the browser of the injection, then send an |
// invalid request (which is treated like a notification). |
- request_id_ = ShouldNotifyBrowserOfInjections() ? kInvalidRequestId |
- : g_next_pending_id++; |
+ request_id_ = |
+ consumer_instance_info_.type() == ConsumerInstanceInfo::WEBVIEW || |
+ ShouldNotifyBrowserOfInjections() |
+ ? kInvalidRequestId |
+ : g_next_pending_id++; |
render_view->Send(new ExtensionHostMsg_RequestScriptInjectionPermission( |
render_view->GetRoutingID(), |
host_id_.id(), |
@@ -272,7 +275,7 @@ void ScriptInjection::InjectJs(const InjectionHost* injection_host, |
int world_id = in_main_world |
? DOMActivityLogger::kMainWorldId |
: GetIsolatedWorldIdForInstance( |
- injection_host, instance_id_, frame); |
+ injection_host, consumer_instance_info_.id(), frame); |
bool expects_results = injector_->ExpectsResults(); |
base::ElapsedTimer exec_timer; |