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 e4c7fd7f0eb44e0417a87ccb26a498e45084f89e..9d2aaff31a7f0891fc11e004ac629219c9bdad12 100644 |
--- a/content/browser/frame_host/render_frame_host_manager.cc |
+++ b/content/browser/frame_host/render_frame_host_manager.cc |
@@ -218,7 +218,6 @@ RenderFrameHostManager::RenderFrameHostManager( |
render_widget_delegate_(render_widget_delegate), |
proxy_hosts_(new RenderFrameProxyHostMap(this)), |
interstitial_page_(nullptr), |
- current_web_ui_is_navigating_(false), |
weak_factory_(this) { |
DCHECK(frame_tree_node_); |
} |
@@ -283,21 +282,6 @@ RenderViewHostImpl* RenderFrameHostManager::pending_render_view_host() const { |
return pending_render_frame_host_->render_view_host(); |
} |
-WebUIImpl* RenderFrameHostManager::GetNavigatingWebUI() const { |
- if (current_web_ui_is_navigating_) |
- return render_frame_host_->web_ui(); |
- |
- if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
- switches::kEnableBrowserSideNavigation)) { |
- if (speculative_render_frame_host_) |
- return speculative_render_frame_host_->web_ui(); |
- } else { |
- if (pending_render_frame_host_) |
- return pending_render_frame_host_->web_ui(); |
- } |
- return nullptr; |
-} |
- |
RenderWidgetHostView* RenderFrameHostManager::GetRenderWidgetHostView() const { |
if (interstitial_page_) |
return interstitial_page_->GetView(); |
@@ -414,8 +398,8 @@ RenderFrameHostImpl* RenderFrameHostManager::Navigate( |
if (!InitRenderView(dest_render_frame_host->render_view_host(), nullptr)) |
return nullptr; |
- if (GetNavigatingWebUI()) { |
- GetNavigatingWebUI()->RenderViewCreated( |
+ if (dest_render_frame_host->web_ui()) { |
+ dest_render_frame_host->web_ui()->RenderViewCreated( |
dest_render_frame_host->render_view_host()); |
} |
@@ -669,14 +653,15 @@ void RenderFrameHostManager::CommitPendingIfNecessary( |
RenderFrameHostImpl* render_frame_host, |
bool was_caused_by_user_gesture) { |
if (!pending_render_frame_host_ && !speculative_render_frame_host_) { |
- DCHECK(!current_web_ui_is_navigating_ || render_frame_host_->web_ui()); |
// We should only hear this from our current renderer. |
DCHECK_EQ(render_frame_host_, render_frame_host); |
- // A commit is required if there is a navigating WebUI, even without a |
- // pending or speculative RenderFrameHost. |
- if (GetNavigatingWebUI()) |
+ // If the current RenderFrameHost has a WebUI it must be committed |
Charlie Reis
2015/11/09 07:02:02
nit: End sentence with period.
carlosk
2015/11/10 10:28:55
Done.
|
+ // Note: for when one tries to move same-site commit logic into |
Charlie Reis
2015/11/09 07:02:02
nit: s/for when/If/
carlosk
2015/11/10 10:28:55
Done.
|
+ // RenderFrameHost itself mind that the focus setting logic inside |
Charlie Reis
2015/11/09 07:02:02
nit: comma after "itself"
carlosk
2015/11/10 10:28:55
Done.
|
+ // CommitPending also needs to be moved there. |
+ if (render_frame_host_->web_ui()) |
CommitPending(); |
return; |
} |
@@ -1055,7 +1040,6 @@ RenderFrameHostImpl* RenderFrameHostManager::GetFrameHostForNavigation( |
speculative_render_frame_host_->render_view_host()); |
} |
DCHECK(speculative_render_frame_host_); |
- DCHECK_EQ(GetNavigatingWebUI(), speculative_render_frame_host_->web_ui()); |
navigation_rfh = speculative_render_frame_host_.get(); |
@@ -1068,7 +1052,6 @@ RenderFrameHostImpl* RenderFrameHostManager::GetFrameHostForNavigation( |
// RFH isn't live.) |
CommitPending(); |
} |
- DCHECK(!current_web_ui_is_navigating_); |
} |
DCHECK(navigation_rfh && |
(navigation_rfh == render_frame_host_.get() || |
@@ -1082,8 +1065,8 @@ RenderFrameHostImpl* RenderFrameHostManager::GetFrameHostForNavigation( |
if (!InitRenderView(navigation_rfh->render_view_host(), nullptr)) |
return nullptr; |
- if (GetNavigatingWebUI()) { |
- GetNavigatingWebUI()->RenderViewCreated( |
+ if (navigation_rfh->web_ui()) { |
+ navigation_rfh->web_ui()->RenderViewCreated( |
navigation_rfh->render_view_host()); |
} |
@@ -1106,9 +1089,6 @@ RenderFrameHostImpl* RenderFrameHostManager::GetFrameHostForNavigation( |
void RenderFrameHostManager::CleanUpNavigation() { |
CHECK(base::CommandLine::ForCurrentProcess()->HasSwitch( |
switches::kEnableBrowserSideNavigation)); |
- // TODO(carlosk): the discarding of the current RFH WebUI and the cleanup of |
- // the speculative RFH should not always happen together. |
- current_web_ui_is_navigating_ = false; |
if (speculative_render_frame_host_) |
DiscardUnusedFrame(UnsetSpeculativeRenderFrameHost()); |
} |
@@ -1734,7 +1714,6 @@ bool RenderFrameHostManager::CreateSpeculativeRenderFrameHost( |
SiteInstance* new_instance) { |
CHECK(new_instance); |
CHECK_NE(old_instance, new_instance); |
- CHECK(!current_web_ui_is_navigating_); |
// The process for the new SiteInstance may (if we're sharing a process with |
// another host that already initialized it) or may not (we have our own |
@@ -2089,8 +2068,6 @@ void RenderFrameHostManager::CommitPending() { |
bool will_focus_location_bar = delegate_->FocusLocationBarByDefault(); |
if (!pending_render_frame_host_ && !speculative_render_frame_host_) { |
- DCHECK_EQ(current_web_ui_is_navigating_, !!render_frame_host_->web_ui()); |
- current_web_ui_is_navigating_ = false; |
// If there's no pending/speculative RenderFrameHost then the current |
// RenderFrameHost is committing. |
if (will_focus_location_bar) |
@@ -2292,7 +2269,6 @@ RenderFrameHostImpl* RenderFrameHostManager::UpdateStateForNavigate( |
// New SiteInstance: create a pending RFH to navigate. |
- current_web_ui_is_navigating_ = false; |
CreatePendingRenderFrameHost(current_instance, new_instance.get()); |
DCHECK(pending_render_frame_host_); |
if (!pending_render_frame_host_) |
@@ -2304,9 +2280,6 @@ RenderFrameHostImpl* RenderFrameHostManager::UpdateStateForNavigate( |
pending_render_frame_host_->render_view_host()); |
} |
- // We now have a pending RFH and possibly an associated pending WebUI. |
- DCHECK_EQ(GetNavigatingWebUI(), pending_render_frame_host_->web_ui()); |
- |
// Check if our current RFH is live before we set up a transition. |
if (!render_frame_host_->IsRenderFrameLive()) { |
// The current RFH is not live. There's no reason to sit around with a |
@@ -2382,19 +2355,15 @@ void RenderFrameHostManager::UpdateWebUIOnCurrentFrameHost(const GURL& dest_url, |
if (changed_web_ui) |
CheckWebUITransition(previous_web_ui_type, dest_url, dest_is_restore); |
- // If there is a WebUI in the current RenderFrameHost, it will navigate. |
- current_web_ui_is_navigating_ = !!render_frame_host_->web_ui(); |
- DCHECK_EQ(GetNavigatingWebUI(), render_frame_host_->web_ui()); |
- |
// If the current RenderFrameHost has a WebUI and the associated RenderFrame |
// is alive, notify to the WebUI that the RenderView is being created or |
// reused depending on whether the WebUI was changed or not. |
- if (GetNavigatingWebUI() && render_frame_host_->IsRenderFrameLive()) { |
+ if (render_frame_host_->web_ui() && render_frame_host_->IsRenderFrameLive()) { |
if (changed_web_ui) { |
- GetNavigatingWebUI()->RenderViewCreated( |
+ render_frame_host_->web_ui()->RenderViewCreated( |
render_frame_host_->render_view_host()); |
} else { |
- GetNavigatingWebUI()->RenderViewReused( |
+ render_frame_host_->web_ui()->RenderViewReused( |
render_frame_host_->render_view_host(), |
frame_tree_node_->IsMainFrame()); |
} |
@@ -2404,7 +2373,6 @@ void RenderFrameHostManager::UpdateWebUIOnCurrentFrameHost(const GURL& dest_url, |
void RenderFrameHostManager::CancelPending() { |
TRACE_EVENT1("navigation", "RenderFrameHostManager::CancelPending", |
"FrameTreeNode id", frame_tree_node_->frame_tree_node_id()); |
- current_web_ui_is_navigating_ = false; |
DiscardUnusedFrame(UnsetPendingRenderFrameHost()); |
} |
@@ -2417,8 +2385,6 @@ RenderFrameHostManager::UnsetPendingRenderFrameHost() { |
pending_render_frame_host.get(), |
render_frame_host_.get()); |
- current_web_ui_is_navigating_ = false; |
- |
// We no longer need to prevent the process from exiting. |
pending_render_frame_host->GetProcess()->RemovePendingView(); |