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

Unified Diff: extensions/renderer/script_injection.cc

Issue 934763003: Refactoring: de-couple Extensions from "script injection System" [render side]:3 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@decouple_brower_isolated_world_routingid_user_script_1
Patch Set: 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 44421da2db590bd999975ca551f27ffe4f0f1b6a..ac9424a882f405674a4144aa7b71f76f7259638a 100644
--- a/extensions/renderer/script_injection.cc
+++ b/extensions/renderer/script_injection.cc
@@ -113,18 +113,19 @@ void ScriptInjection::RemoveIsolatedWorld(const std::string& host_id) {
ScriptInjection::ScriptInjection(
scoped_ptr<ScriptInjector> injector,
blink::WebLocalFrame* web_frame,
- const HostID& host_id,
+ scoped_ptr<const InjectionHost> injection_host,
const UserScript::ConsumerInstanceType& consumer_instance_type,
UserScript::RunLocation run_location,
int tab_id)
: injector_(injector.Pass()),
web_frame_(web_frame),
- host_id_(host_id),
+ injection_host_(injection_host.Pass()),
consumer_instance_type_(consumer_instance_type),
run_location_(run_location),
tab_id_(tab_id),
request_id_(kInvalidRequestId),
complete_(false) {
+ CHECK(injection_host_.get());
}
ScriptInjection::~ScriptInjection() {
@@ -175,8 +176,14 @@ bool ScriptInjection::OnPermissionGranted(const InjectionHost* injection_host,
return true;
}
+const InjectionHost* ScriptInjection::GetInjectionHost() {
+ if (injection_host_->IsGone())
Devlin 2015/02/17 18:56:52 This won't really work, because you never update t
Xi Han 2015/02/18 21:11:46 As discussed offline, the Dispatcher will notify t
+ return nullptr;
+ return injection_host_.get();
+}
+
void ScriptInjection::RequestPermission() {
- if (host_id_.type() != HostID::EXTENSIONS)
+ if (host_id().type() != HostID::EXTENSIONS)
return;
content::RenderView* render_view =
@@ -190,7 +197,7 @@ void ScriptInjection::RequestPermission() {
: g_next_pending_id++;
render_view->Send(new ExtensionHostMsg_RequestScriptInjectionPermission(
render_view->GetRoutingID(),
- host_id_.id(),
+ host_id().id(),
injector_->script_type(),
request_id_));
}

Powered by Google App Engine
This is Rietveld 408576698