Index: content/browser/web_contents/web_contents_impl.cc |
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc |
index df01715770b3a8be12ca00afa3de663374fc9620..fdf40d39f575c096abc51ea7ae4c0f0f222e02f5 100644 |
--- a/content/browser/web_contents/web_contents_impl.cc |
+++ b/content/browser/web_contents/web_contents_impl.cc |
@@ -840,9 +840,8 @@ |
} |
WebUI* WebContentsImpl::GetWebUI() const { |
- return GetRenderManager()->web_ui() |
- ? GetRenderManager()->web_ui() |
- : GetRenderManager()->GetNavigatingWebUI(); |
+ return GetRenderManager()->web_ui() ? GetRenderManager()->web_ui() |
+ : GetRenderManager()->pending_web_ui(); |
} |
WebUI* WebContentsImpl::GetCommittedWebUI() const { |
@@ -913,9 +912,8 @@ |
if (entry) { |
return entry->GetTitleForDisplay(accept_languages); |
} |
- WebUI* our_web_ui = GetRenderManager()->GetNavigatingWebUI() |
- ? GetRenderManager()->GetNavigatingWebUI() |
- : GetRenderManager()->web_ui(); |
+ WebUI* our_web_ui = GetRenderManager()->pending_web_ui() ? |
+ GetRenderManager()->pending_web_ui() : GetRenderManager()->web_ui(); |
if (our_web_ui) { |
// Don't override the title in view source mode. |
entry = controller_.GetVisibleEntry(); |
@@ -3781,6 +3779,18 @@ |
Source<WebContents>(this), |
Details<RenderViewHost>(render_view_host)); |
+ // When we're creating views, we're still doing initial setup, so we always |
+ // use the pending Web UI rather than any possibly existing committed one. |
+ if (GetRenderManager()->pending_web_ui()) |
+ GetRenderManager()->pending_web_ui()->RenderViewCreated(render_view_host); |
+ |
+ if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
+ switches::kEnableBrowserSideNavigation) && |
+ GetRenderManager()->speculative_web_ui()) { |
+ GetRenderManager()->speculative_web_ui()->RenderViewCreated( |
+ render_view_host); |
+ } |
+ |
NavigationEntry* entry = controller_.GetPendingEntry(); |
if (entry && entry->IsViewSourceMode()) { |
// Put the renderer in view source mode. |
@@ -4168,7 +4178,7 @@ |
GetRenderManager()->CreateRenderFrameProxy(instance); |
} else { |
GetRenderManager()->CreateRenderFrame( |
- instance, CREATE_RF_SWAPPED_OUT | CREATE_RF_HIDDEN, |
+ instance, nullptr, CREATE_RF_SWAPPED_OUT | CREATE_RF_HIDDEN, |
&render_view_routing_id); |
} |
return render_view_routing_id; |
@@ -4335,7 +4345,7 @@ |
return GetController(); |
} |
-scoped_ptr<WebUIImpl> WebContentsImpl::CreateWebUIForRenderFrameHost( |
+scoped_ptr<WebUIImpl> WebContentsImpl::CreateWebUIForRenderManager( |
const GURL& url) { |
return scoped_ptr<WebUIImpl>(static_cast<WebUIImpl*>(CreateWebUI( |
url, std::string()))); |