Chromium Code Reviews| Index: content/renderer/render_frame_impl.cc |
| diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc |
| index 6c053bb9bd5128d41aa527ae14c7eecfc6522133..53ce557a74fdad22eaf09a0b2102829727943acc 100644 |
| --- a/content/renderer/render_frame_impl.cc |
| +++ b/content/renderer/render_frame_impl.cc |
| @@ -2012,8 +2012,8 @@ void RenderFrameImpl::OnJavaScriptExecuteRequestInIsolatedWorld( |
| WebScriptSource script = WebScriptSource(WebString::fromUTF16(jscript)); |
| JavaScriptIsolatedWorldRequest* request = new JavaScriptIsolatedWorldRequest( |
| id, notify_result, routing_id_, weak_factory_.GetWeakPtr()); |
| - frame_->requestExecuteScriptInIsolatedWorld(world_id, &script, 1, false, |
| - request); |
| + frame_->requestExecuteScriptInIsolatedWorld( |
| + world_id, &script, 1, false, WebLocalFrame::Synchronous, request); |
| } |
| RenderFrameImpl::JavaScriptIsolatedWorldRequest::JavaScriptIsolatedWorldRequest( |
| @@ -3909,6 +3909,16 @@ void RenderFrameImpl::runScriptsAtDocumentReady(blink::WebLocalFrame* frame, |
| // Do not use |this| or |frame| here without checking |weak_self|. |
| } |
| +void RenderFrameImpl::runScriptsAtDocumentIdle(blink::WebLocalFrame* frame) { |
| + DCHECK_EQ(frame_, frame); |
| + base::WeakPtr<RenderFrameImpl> weak_self = weak_factory_.GetWeakPtr(); |
| + if (!weak_self.get()) |
| + return; |
|
kinuko
2017/03/15 12:13:28
How could it be null right after this method is ca
Kunihiko Sakamoto
2017/03/16 07:39:02
Obviously it can't. Removed.
|
| + |
| + GetContentClient()->renderer()->RunScriptsAtDocumentIdle(this); |
| + // ContentClient might have deleted |frame| and |this| by now! |
| +} |
| + |
| void RenderFrameImpl::didHandleOnloadEvents(blink::WebLocalFrame* frame) { |
| DCHECK_EQ(frame_, frame); |
| if (!frame->parent()) { |