Index: content/renderer/render_frame_impl.cc |
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc |
index 709ee25ce890a50b4a91a2b7eb7a1af1e48f6769..6460ef29031ebc6bec6509dd5fcd457bb6e36d23 100644 |
--- a/content/renderer/render_frame_impl.cc |
+++ b/content/renderer/render_frame_impl.cc |
@@ -3361,6 +3361,23 @@ void RenderFrameImpl::didCreateDocumentElement(blink::WebLocalFrame* frame) { |
DidCreateDocumentElement(frame)); |
} |
+void RenderFrameImpl::runScriptsAtDocumentElementAvailable( |
+ blink::WebLocalFrame* frame) { |
+ DCHECK(!frame_ || frame_ == frame); |
+ base::WeakPtr<RenderFrameImpl> weak_self = weak_factory_.GetWeakPtr(); |
+ |
+ MojoBindingsController* mojo_bindings_controller = |
+ MojoBindingsController::Get(this); |
+ if (mojo_bindings_controller) |
+ mojo_bindings_controller->RunScriptsAtDocumentStart(); |
+ |
+ if (!weak_self.get()) |
+ return; |
+ |
+ GetContentClient()->renderer()->RunScriptsAtDocumentStart(this); |
+ // Do not use |this| or |frame|! ContentClient might have deleted them by now! |
+} |
+ |
void RenderFrameImpl::didReceiveTitle(blink::WebLocalFrame* frame, |
const blink::WebString& title, |
blink::WebTextDirection direction) { |
@@ -3436,6 +3453,21 @@ void RenderFrameImpl::didFinishDocumentLoad(blink::WebLocalFrame* frame, |
} |
} |
+void RenderFrameImpl::runScriptsAtDocumentReady(blink::WebLocalFrame* frame) { |
+ base::WeakPtr<RenderFrameImpl> weak_self = weak_factory_.GetWeakPtr(); |
+ |
+ MojoBindingsController* mojo_bindings_controller = |
+ MojoBindingsController::Get(this); |
+ if (mojo_bindings_controller) |
+ mojo_bindings_controller->RunScriptsAtDocumentReady(); |
+ |
+ if (!weak_self.get()) |
+ return; |
+ |
+ GetContentClient()->renderer()->RunScriptsAtDocumentEnd(this); |
+ // Do not use |this| or |frame|! ContentClient might have deleted them by now! |
+} |
+ |
void RenderFrameImpl::didHandleOnloadEvents(blink::WebLocalFrame* frame) { |
DCHECK_EQ(frame_, frame); |
if (!frame->parent()) { |