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 20941ca41142b9ab578849310f47d0148efec105..45f49d6ddd749af1391844380f8118778eb7c8f0 100644 |
--- a/content/browser/frame_host/render_frame_host_manager.cc |
+++ b/content/browser/frame_host/render_frame_host_manager.cc |
@@ -283,21 +283,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(); |
@@ -408,8 +393,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()); |
} |
@@ -668,8 +653,9 @@ void RenderFrameHostManager::CommitPendingIfNecessary( |
// We should only hear this from our current renderer. |
DCHECK_EQ(render_frame_host_, render_frame_host); |
- // Even when there is no pending RVH, there may be a pending Web UI. |
- if (GetNavigatingWebUI()) |
+ // If the current RenderFrameHost has a WebUI it must be committed (for |
+ // proper focus setting). |
+ if (render_frame_host_->web_ui()) |
CommitPending(); |
return; |
} |
@@ -1030,17 +1016,17 @@ RenderFrameHostImpl* RenderFrameHostManager::GetFrameHostForNavigation( |
// 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()); |
} |
@@ -1077,7 +1063,6 @@ RenderFrameHostImpl* RenderFrameHostManager::GetFrameHostForNavigation( |
} |
} |
DCHECK(speculative_render_frame_host_); |
- DCHECK_EQ(GetNavigatingWebUI(), speculative_render_frame_host_->web_ui()); |
navigation_rfh = speculative_render_frame_host_.get(); |
@@ -1104,8 +1089,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()); |
} |
@@ -2111,7 +2096,7 @@ 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()); |
+ DCHECK(!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. |
@@ -2327,7 +2312,6 @@ RenderFrameHostImpl* RenderFrameHostManager::UpdateStateForNavigate( |
// We now have a pending RFH and possibly an associated pending WebUI. |
DCHECK(pending_render_frame_host_); |
- 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()) { |
@@ -2391,17 +2375,16 @@ RenderFrameHostImpl* RenderFrameHostManager::UpdateStateForNavigate( |
// 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()); |
} |