Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(170)

Unified Diff: extensions/renderer/script_injection.cc

Issue 906493004: Refactoring: de-couple Extensions from "script injection System" [render side]:2 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@decouple_brower_isolated_world_1
Patch Set: Rebase. Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;

Powered by Google App Engine
This is Rietveld 408576698