Chromium Code Reviews| 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_)); |
| } |