| 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());
|
| }
|
|
|