| Index: content/renderer/render_frame_impl.cc
|
| diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
|
| index a8cbf916c69425bc24c1ac4e78c872de866c368a..dad24b5a355020843320e25e3bbc2ae67d97c8d9 100644
|
| --- a/content/renderer/render_frame_impl.cc
|
| +++ b/content/renderer/render_frame_impl.cc
|
| @@ -1999,8 +1999,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(
|
| @@ -3868,6 +3868,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;
|
| +
|
| + 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()) {
|
|
|