| Index: content/renderer/render_view_impl.cc
|
| diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
|
| index 7f2172b76eafde1f96ae015c7bbe1a412344aa27..b263a86691589046b61124947278e2a21fa83e46 100644
|
| --- a/content/renderer/render_view_impl.cc
|
| +++ b/content/renderer/render_view_impl.cc
|
| @@ -5461,9 +5461,6 @@ void RenderViewImpl::OnShouldClose() {
|
| }
|
|
|
| void RenderViewImpl::OnSwapOut(const ViewMsg_SwapOut_Params& params) {
|
| - // Ensure that no other in-progress navigation continues.
|
| - OnStop();
|
| -
|
| // Only run unload if we're not swapped out yet, but send the ack either way.
|
| if (!is_swapped_out_) {
|
| // Swap this RenderView out so the tab can navigate to a page rendered by a
|
| @@ -5480,6 +5477,11 @@ void RenderViewImpl::OnSwapOut(const ViewMsg_SwapOut_Params& params) {
|
| // Swap out and stop sending any IPC messages that are not ACKs.
|
| SetSwappedOut(true);
|
|
|
| + // Now that we're swapped out and filtering IPC messages, stop loading to
|
| + // ensure that no other in-progress navigation continues. We do this here
|
| + // to avoid sending a DidStopLoading message to the browser process.
|
| + OnStop();
|
| +
|
| // Replace the page with a blank dummy URL. The unload handler will not be
|
| // run a second time, thanks to a check in FrameLoader::stopLoading.
|
| // TODO(creis): Need to add a better way to do this that avoids running the
|
|
|