| Index: content/renderer/render_frame_impl.cc
|
| diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
|
| index ca5cf55aa3761765972eae6c626116de02aeba1e..f029e2a5cf72d00882660f7ce85068fa02d0992f 100644
|
| --- a/content/renderer/render_frame_impl.cc
|
| +++ b/content/renderer/render_frame_impl.cc
|
| @@ -1051,12 +1051,15 @@ void RenderFrameImpl::OnSwapOut(int proxy_routing_id) {
|
| // clearing the page. We also allow this process to exit if there are no
|
| // other active RenderFrames in it.
|
|
|
| - // Send an UpdateState message before we get swapped out. Create the
|
| - // RenderFrameProxy as well so its routing id is registered for receiving
|
| - // IPC messages.
|
| + // Send an UpdateState message before we get swapped out.
|
| render_view_->SyncNavigationState();
|
| - proxy = RenderFrameProxy::CreateProxyToReplaceFrame(this,
|
| - proxy_routing_id);
|
| +
|
| + // If we need a proxy to replace this, create it now so its routing id is
|
| + // registered for receiving IPC messages.
|
| + if (proxy_routing_id != MSG_ROUTING_NONE) {
|
| + proxy = RenderFrameProxy::CreateProxyToReplaceFrame(this,
|
| + proxy_routing_id);
|
| + }
|
|
|
| // Synchronously run the unload handler before sending the ACK.
|
| // TODO(creis): Call dispatchUnloadEvent unconditionally here to support
|
|
|