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