Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(160)

Side by Side Diff: content/browser/frame_host/render_frame_host_manager.cc

Issue 1545973002: Remove the is_loading_ field from WebContentsImpl (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed issue with tests Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 894 matching lines...) Expand 10 before | Expand all | Expand 10 after
905 if (notify_webui_of_rv_creation && GetNavigatingWebUI()) 905 if (notify_webui_of_rv_creation && GetNavigatingWebUI())
906 GetNavigatingWebUI()->RenderViewCreated(navigation_rfh->render_view_host()); 906 GetNavigatingWebUI()->RenderViewCreated(navigation_rfh->render_view_host());
907 907
908 return navigation_rfh; 908 return navigation_rfh;
909 } 909 }
910 910
911 // PlzNavigate 911 // PlzNavigate
912 void RenderFrameHostManager::CleanUpNavigation() { 912 void RenderFrameHostManager::CleanUpNavigation() {
913 CHECK(IsBrowserSideNavigationEnabled()); 913 CHECK(IsBrowserSideNavigationEnabled());
914 render_frame_host_->ClearPendingWebUI(); 914 render_frame_host_->ClearPendingWebUI();
915 if (speculative_render_frame_host_) 915 if (speculative_render_frame_host_) {
916 bool was_loading = speculative_render_frame_host_->is_loading();
916 DiscardUnusedFrame(UnsetSpeculativeRenderFrameHost()); 917 DiscardUnusedFrame(UnsetSpeculativeRenderFrameHost());
918 if (was_loading)
919 frame_tree_node_->DidStopLoading();
920 }
917 } 921 }
918 922
919 // PlzNavigate 923 // PlzNavigate
920 scoped_ptr<RenderFrameHostImpl> 924 scoped_ptr<RenderFrameHostImpl>
921 RenderFrameHostManager::UnsetSpeculativeRenderFrameHost() { 925 RenderFrameHostManager::UnsetSpeculativeRenderFrameHost() {
922 CHECK(IsBrowserSideNavigationEnabled()); 926 CHECK(IsBrowserSideNavigationEnabled());
923 speculative_render_frame_host_->GetProcess()->RemovePendingView(); 927 speculative_render_frame_host_->GetProcess()->RemovePendingView();
924 return std::move(speculative_render_frame_host_); 928 return std::move(speculative_render_frame_host_);
925 } 929 }
926 930
(...skipping 1068 matching lines...) Expand 10 before | Expand all | Expand 10 after
1995 if (!delegate_->IsHidden() && new_rfh_has_view) { 1999 if (!delegate_->IsHidden() && new_rfh_has_view) {
1996 // In most cases, we need to show the new view. 2000 // In most cases, we need to show the new view.
1997 render_frame_host_->GetView()->Show(); 2001 render_frame_host_->GetView()->Show();
1998 } 2002 }
1999 if (!new_rfh_has_view) { 2003 if (!new_rfh_has_view) {
2000 // If the view is gone, then this RenderViewHost died while it was hidden. 2004 // If the view is gone, then this RenderViewHost died while it was hidden.
2001 // We ignored the RenderProcessGone call at the time, so we should send it 2005 // We ignored the RenderProcessGone call at the time, so we should send it
2002 // now to make sure the sad tab shows up, etc. 2006 // now to make sure the sad tab shows up, etc.
2003 DCHECK(!render_frame_host_->IsRenderFrameLive()); 2007 DCHECK(!render_frame_host_->IsRenderFrameLive());
2004 DCHECK(!render_frame_host_->render_view_host()->IsRenderViewLive()); 2008 DCHECK(!render_frame_host_->render_view_host()->IsRenderViewLive());
2009 render_frame_host_->ResetLoadingState();
2005 delegate_->RenderProcessGoneFromRenderManager( 2010 delegate_->RenderProcessGoneFromRenderManager(
2006 render_frame_host_->render_view_host()); 2011 render_frame_host_->render_view_host());
2007 } 2012 }
2008 2013
2009 // For top-level frames, also hide the old RenderViewHost's view. 2014 // For top-level frames, also hide the old RenderViewHost's view.
2010 // TODO(creis): As long as show/hide are on RVH, we don't want to hide on 2015 // TODO(creis): As long as show/hide are on RVH, we don't want to hide on
2011 // subframe navigations or we will interfere with the top-level frame. 2016 // subframe navigations or we will interfere with the top-level frame.
2012 if (is_main_frame && 2017 if (is_main_frame &&
2013 old_render_frame_host->render_view_host()->GetWidget()->GetView()) { 2018 old_render_frame_host->render_view_host()->GetWidget()->GetView()) {
2014 old_render_frame_host->render_view_host()->GetWidget()->GetView()->Hide(); 2019 old_render_frame_host->render_view_host()->GetWidget()->GetView()->Hide();
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after
2246 render_frame_host_->pending_web_ui()->RenderViewCreated( 2251 render_frame_host_->pending_web_ui()->RenderViewCreated(
2247 render_frame_host_->render_view_host()); 2252 render_frame_host_->render_view_host());
2248 } 2253 }
2249 } 2254 }
2250 } 2255 }
2251 2256
2252 void RenderFrameHostManager::CancelPending() { 2257 void RenderFrameHostManager::CancelPending() {
2253 TRACE_EVENT1("navigation", "RenderFrameHostManager::CancelPending", 2258 TRACE_EVENT1("navigation", "RenderFrameHostManager::CancelPending",
2254 "FrameTreeNode id", frame_tree_node_->frame_tree_node_id()); 2259 "FrameTreeNode id", frame_tree_node_->frame_tree_node_id());
2255 render_frame_host_->ClearPendingWebUI(); 2260 render_frame_host_->ClearPendingWebUI();
2261
2262 bool pending_was_loading = pending_render_frame_host_->is_loading();
2256 DiscardUnusedFrame(UnsetPendingRenderFrameHost()); 2263 DiscardUnusedFrame(UnsetPendingRenderFrameHost());
2264 if (pending_was_loading)
2265 frame_tree_node_->DidStopLoading();
2257 } 2266 }
2258 2267
2259 scoped_ptr<RenderFrameHostImpl> 2268 scoped_ptr<RenderFrameHostImpl>
2260 RenderFrameHostManager::UnsetPendingRenderFrameHost() { 2269 RenderFrameHostManager::UnsetPendingRenderFrameHost() {
2261 scoped_ptr<RenderFrameHostImpl> pending_render_frame_host = 2270 scoped_ptr<RenderFrameHostImpl> pending_render_frame_host =
2262 std::move(pending_render_frame_host_); 2271 std::move(pending_render_frame_host_);
2263 2272
2264 RenderFrameDevToolsAgentHost::OnCancelPendingNavigation( 2273 RenderFrameDevToolsAgentHost::OnCancelPendingNavigation(
2265 pending_render_frame_host.get(), 2274 pending_render_frame_host.get(),
2266 render_frame_host_.get()); 2275 render_frame_host_.get());
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
2480 int RenderFrameHostManager::GetOpenerRoutingID(SiteInstance* instance) { 2489 int RenderFrameHostManager::GetOpenerRoutingID(SiteInstance* instance) {
2481 if (!frame_tree_node_->opener()) 2490 if (!frame_tree_node_->opener())
2482 return MSG_ROUTING_NONE; 2491 return MSG_ROUTING_NONE;
2483 2492
2484 return frame_tree_node_->opener() 2493 return frame_tree_node_->opener()
2485 ->render_manager() 2494 ->render_manager()
2486 ->GetRoutingIdForSiteInstance(instance); 2495 ->GetRoutingIdForSiteInstance(instance);
2487 } 2496 }
2488 2497
2489 } // namespace content 2498 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698