| 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 c3c2aad3378e3ba04a4d01c9abf1e6002e836cad..166da11eefa667499fb61c432713f0b4af81a250 100644
|
| --- a/content/browser/web_contents/web_contents_impl.cc
|
| +++ b/content/browser/web_contents/web_contents_impl.cc
|
| @@ -846,13 +846,24 @@ WebUI* WebContentsImpl::CreateSubframeWebUI(const GURL& url,
|
| }
|
|
|
| WebUI* WebContentsImpl::GetWebUI() const {
|
| - return GetRenderManager()->web_ui()
|
| - ? GetRenderManager()->web_ui()
|
| - : GetRenderManager()->GetNavigatingWebUI();
|
| + if (GetCommittedWebUI())
|
| + return GetCommittedWebUI();
|
| +
|
| + RenderFrameHostImpl* upcoming_frame_host = nullptr;
|
| + if (base::CommandLine::ForCurrentProcess()->HasSwitch(
|
| + switches::kEnableBrowserSideNavigation)) {
|
| + upcoming_frame_host = GetRenderManager()->speculative_frame_host();
|
| + } else {
|
| + upcoming_frame_host = GetRenderManager()->pending_frame_host();
|
| + }
|
| + if (upcoming_frame_host)
|
| + return upcoming_frame_host->web_ui();
|
| +
|
| + return nullptr;
|
| }
|
|
|
| WebUI* WebContentsImpl::GetCommittedWebUI() const {
|
| - return GetRenderManager()->web_ui();
|
| + return frame_tree_.root()->current_frame_host()->web_ui();
|
| }
|
|
|
| void WebContentsImpl::SetUserAgentOverride(const std::string& override) {
|
| @@ -919,9 +930,18 @@ const base::string16& WebContentsImpl::GetTitle() const {
|
| if (entry) {
|
| return entry->GetTitleForDisplay(accept_languages);
|
| }
|
| - WebUI* our_web_ui = GetRenderManager()->GetNavigatingWebUI()
|
| - ? GetRenderManager()->GetNavigatingWebUI()
|
| - : GetRenderManager()->web_ui();
|
| +
|
| + RenderFrameHostImpl* upcoming_frame_host = nullptr;
|
| + if (base::CommandLine::ForCurrentProcess()->HasSwitch(
|
| + switches::kEnableBrowserSideNavigation)) {
|
| + upcoming_frame_host = GetRenderManager()->speculative_frame_host();
|
| + } else {
|
| + upcoming_frame_host = GetRenderManager()->pending_frame_host();
|
| + }
|
| + WebUI* our_web_ui = upcoming_frame_host
|
| + ? upcoming_frame_host->web_ui()
|
| + : GetRenderManager()->current_frame_host()->web_ui();
|
| +
|
| if (our_web_ui) {
|
| // Don't override the title in view source mode.
|
| entry = controller_.GetVisibleEntry();
|
|
|