Index: content/browser/frame_host/render_frame_host_manager.cc |
diff --git a/content/browser/frame_host/render_frame_host_manager.cc b/content/browser/frame_host/render_frame_host_manager.cc |
index cd1684b769a1b7479a79e30536bf586b6eafeec9..7deebc26ad5c66724f6626cdfafd92d221b84879 100644 |
--- a/content/browser/frame_host/render_frame_host_manager.cc |
+++ b/content/browser/frame_host/render_frame_host_manager.cc |
@@ -912,8 +912,12 @@ RenderFrameHostImpl* RenderFrameHostManager::GetFrameHostForNavigation( |
void RenderFrameHostManager::CleanUpNavigation() { |
CHECK(IsBrowserSideNavigationEnabled()); |
render_frame_host_->ClearPendingWebUI(); |
- if (speculative_render_frame_host_) |
+ if (speculative_render_frame_host_) { |
+ bool was_loading = speculative_render_frame_host_->is_loading(); |
DiscardUnusedFrame(UnsetSpeculativeRenderFrameHost()); |
+ if (was_loading) |
+ frame_tree_node_->DidStopLoading(); |
+ } |
} |
// PlzNavigate |
@@ -2002,6 +2006,7 @@ void RenderFrameHostManager::CommitPending() { |
// now to make sure the sad tab shows up, etc. |
DCHECK(!render_frame_host_->IsRenderFrameLive()); |
DCHECK(!render_frame_host_->render_view_host()->IsRenderViewLive()); |
+ render_frame_host_->ResetLoadingState(); |
delegate_->RenderProcessGoneFromRenderManager( |
render_frame_host_->render_view_host()); |
} |
@@ -2253,7 +2258,11 @@ void RenderFrameHostManager::CancelPending() { |
TRACE_EVENT1("navigation", "RenderFrameHostManager::CancelPending", |
"FrameTreeNode id", frame_tree_node_->frame_tree_node_id()); |
render_frame_host_->ClearPendingWebUI(); |
+ |
+ bool pending_was_loading = pending_render_frame_host_->is_loading(); |
DiscardUnusedFrame(UnsetPendingRenderFrameHost()); |
+ if (pending_was_loading) |
+ frame_tree_node_->DidStopLoading(); |
} |
scoped_ptr<RenderFrameHostImpl> |