Chromium Code Reviews| Index: extensions/renderer/dispatcher.cc |
| diff --git a/extensions/renderer/dispatcher.cc b/extensions/renderer/dispatcher.cc |
| index a8a2b3ed3076b3dc1d3405b6025a9c2025ce59cc..7f3e1e63c69d170f80f092b01246e03c88adcba5 100644 |
| --- a/extensions/renderer/dispatcher.cc |
| +++ b/extensions/renderer/dispatcher.cc |
| @@ -500,6 +500,30 @@ void Dispatcher::DidCreateDocumentElement(blink::WebLocalFrame* frame) { |
| } |
| } |
| +void Dispatcher::AfterDidCreateDocumentElement( |
| + const base::WeakPtr<content::RenderFrame>& render_frame) { |
| + DCHECK(render_frame.get()); |
| + ExtensionFrameHelper* frame_helper = |
| + ExtensionFrameHelper::Get(render_frame.get()); |
|
ncarter (slow)
2016/02/11 22:47:32
Nasko pointed me at this CL to see if there might
robwu
2016/02/11 23:36:50
Done. I don't see any issue with passing a weakptr
ncarter (slow)
2016/02/12 19:32:57
I'm not opposed to it per se either, but I think i
robwu
2016/02/12 19:51:43
That makes sense. Thanks for explaining your line
|
| + if (!frame_helper) |
| + return; // The frame is invisible to extensions. |
| + |
| + script_injection_manager_->AfterDidCreateDocumentElement(render_frame.get()); |
| + if (!render_frame.get()) |
| + return; // Frame was destroyed by injected user script. |
| + |
| + frame_helper->AfterDidCreateDocumentElement(render_frame); |
| +} |
| + |
| +void Dispatcher::AfterDidFinishDocumentLoad( |
| + const base::WeakPtr<content::RenderFrame>& render_frame) { |
| + if (!ExtensionFrameHelper::Get(render_frame.get())) |
| + return; // The frame is invisible to extensions. |
| + |
| + script_injection_manager_->AfterDidFinishDocumentLoad(render_frame.get()); |
| + // The frame might be destroyed by the injected user script at this point. |
| +} |
| + |
| void Dispatcher::OnExtensionResponse(int request_id, |
| bool success, |
| const base::ListValue& response, |