OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/browser/frame_host/render_frame_host_manager.h" | 5 #include "content/browser/frame_host/render_frame_host_manager.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <utility> | 10 #include <utility> |
(...skipping 1114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1125 if (notify_webui_of_rv_creation && GetNavigatingWebUI()) | 1125 if (notify_webui_of_rv_creation && GetNavigatingWebUI()) |
1126 GetNavigatingWebUI()->RenderViewCreated(navigation_rfh->render_view_host()); | 1126 GetNavigatingWebUI()->RenderViewCreated(navigation_rfh->render_view_host()); |
1127 | 1127 |
1128 return navigation_rfh; | 1128 return navigation_rfh; |
1129 } | 1129 } |
1130 | 1130 |
1131 // PlzNavigate | 1131 // PlzNavigate |
1132 void RenderFrameHostManager::CleanUpNavigation() { | 1132 void RenderFrameHostManager::CleanUpNavigation() { |
1133 CHECK(IsBrowserSideNavigationEnabled()); | 1133 CHECK(IsBrowserSideNavigationEnabled()); |
1134 render_frame_host_->ClearPendingWebUI(); | 1134 render_frame_host_->ClearPendingWebUI(); |
1135 if (speculative_render_frame_host_) | 1135 if (speculative_render_frame_host_) { |
| 1136 bool was_loading = speculative_render_frame_host_->is_loading(); |
1136 DiscardUnusedFrame(UnsetSpeculativeRenderFrameHost()); | 1137 DiscardUnusedFrame(UnsetSpeculativeRenderFrameHost()); |
| 1138 if (was_loading) |
| 1139 frame_tree_node_->DidStopLoading(); |
| 1140 } |
1137 } | 1141 } |
1138 | 1142 |
1139 // PlzNavigate | 1143 // PlzNavigate |
1140 scoped_ptr<RenderFrameHostImpl> | 1144 scoped_ptr<RenderFrameHostImpl> |
1141 RenderFrameHostManager::UnsetSpeculativeRenderFrameHost() { | 1145 RenderFrameHostManager::UnsetSpeculativeRenderFrameHost() { |
1142 CHECK(IsBrowserSideNavigationEnabled()); | 1146 CHECK(IsBrowserSideNavigationEnabled()); |
1143 speculative_render_frame_host_->GetProcess()->RemovePendingView(); | 1147 speculative_render_frame_host_->GetProcess()->RemovePendingView(); |
1144 return std::move(speculative_render_frame_host_); | 1148 return std::move(speculative_render_frame_host_); |
1145 } | 1149 } |
1146 | 1150 |
(...skipping 1331 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2478 render_frame_host_->pending_web_ui()->RenderViewCreated( | 2482 render_frame_host_->pending_web_ui()->RenderViewCreated( |
2479 render_frame_host_->render_view_host()); | 2483 render_frame_host_->render_view_host()); |
2480 } | 2484 } |
2481 } | 2485 } |
2482 } | 2486 } |
2483 | 2487 |
2484 void RenderFrameHostManager::CancelPending() { | 2488 void RenderFrameHostManager::CancelPending() { |
2485 TRACE_EVENT1("navigation", "RenderFrameHostManager::CancelPending", | 2489 TRACE_EVENT1("navigation", "RenderFrameHostManager::CancelPending", |
2486 "FrameTreeNode id", frame_tree_node_->frame_tree_node_id()); | 2490 "FrameTreeNode id", frame_tree_node_->frame_tree_node_id()); |
2487 render_frame_host_->ClearPendingWebUI(); | 2491 render_frame_host_->ClearPendingWebUI(); |
| 2492 |
| 2493 bool pending_was_loading = pending_render_frame_host_->is_loading(); |
2488 DiscardUnusedFrame(UnsetPendingRenderFrameHost()); | 2494 DiscardUnusedFrame(UnsetPendingRenderFrameHost()); |
| 2495 if (pending_was_loading) |
| 2496 frame_tree_node_->DidStopLoading(); |
2489 } | 2497 } |
2490 | 2498 |
2491 scoped_ptr<RenderFrameHostImpl> | 2499 scoped_ptr<RenderFrameHostImpl> |
2492 RenderFrameHostManager::UnsetPendingRenderFrameHost() { | 2500 RenderFrameHostManager::UnsetPendingRenderFrameHost() { |
2493 scoped_ptr<RenderFrameHostImpl> pending_render_frame_host = | 2501 scoped_ptr<RenderFrameHostImpl> pending_render_frame_host = |
2494 std::move(pending_render_frame_host_); | 2502 std::move(pending_render_frame_host_); |
2495 | 2503 |
2496 RenderFrameDevToolsAgentHost::OnCancelPendingNavigation( | 2504 RenderFrameDevToolsAgentHost::OnCancelPendingNavigation( |
2497 pending_render_frame_host.get(), | 2505 pending_render_frame_host.get(), |
2498 render_frame_host_.get()); | 2506 render_frame_host_.get()); |
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2683 int RenderFrameHostManager::GetOpenerRoutingID(SiteInstance* instance) { | 2691 int RenderFrameHostManager::GetOpenerRoutingID(SiteInstance* instance) { |
2684 if (!frame_tree_node_->opener()) | 2692 if (!frame_tree_node_->opener()) |
2685 return MSG_ROUTING_NONE; | 2693 return MSG_ROUTING_NONE; |
2686 | 2694 |
2687 return frame_tree_node_->opener() | 2695 return frame_tree_node_->opener() |
2688 ->render_manager() | 2696 ->render_manager() |
2689 ->GetRoutingIdForSiteInstance(instance); | 2697 ->GetRoutingIdForSiteInstance(instance); |
2690 } | 2698 } |
2691 | 2699 |
2692 } // namespace content | 2700 } // namespace content |
OLD | NEW |