Chromium Code Reviews| 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 60be8217a562339ebdfb4827bf32c39beb0d5d00..7539474ebd76710dc6cdbc9a895920832cc50ba1 100644 |
| --- a/content/browser/frame_host/render_frame_host_manager.cc |
| +++ b/content/browser/frame_host/render_frame_host_manager.cc |
| @@ -735,17 +735,13 @@ void RenderFrameHostManager::ClearWebUIInstances() { |
| void RenderFrameHostManager::DidCreateNavigationRequest( |
| NavigationRequest* request) { |
| CHECK(IsBrowserSideNavigationEnabled()); |
| - RenderFrameHostImpl* dest_rfh = GetFrameHostForNavigation(*request); |
| + RenderFrameHostImpl* dest_rfh = GetFrameHostForNavigation(request); |
| DCHECK(dest_rfh); |
| - request->set_associated_site_instance_type( |
| - dest_rfh == render_frame_host_.get() |
| - ? NavigationRequest::AssociatedSiteInstanceType::CURRENT |
| - : NavigationRequest::AssociatedSiteInstanceType::SPECULATIVE); |
|
Charlie Reis
2016/05/23 17:26:40
Just curious, what was the reason this needed to b
clamy
2016/05/24 11:18:32
Yes this was a TODO to move it to GetFrameHostForN
|
| } |
| // PlzNavigate |
| RenderFrameHostImpl* RenderFrameHostManager::GetFrameHostForNavigation( |
| - const NavigationRequest& request) { |
| + NavigationRequest* request) { |
| CHECK(IsBrowserSideNavigationEnabled()); |
| SiteInstance* current_site_instance = render_frame_host_->GetSiteInstance(); |
| @@ -756,11 +752,11 @@ RenderFrameHostImpl* RenderFrameHostManager::GetFrameHostForNavigation( |
| : nullptr; |
| scoped_refptr<SiteInstance> dest_site_instance = GetSiteInstanceForNavigation( |
| - request.common_params().url, request.source_site_instance(), |
| - request.dest_site_instance(), candidate_site_instance, |
| - request.common_params().transition, |
| - request.restore_type() != NavigationEntryImpl::RESTORE_NONE, |
| - request.is_view_source()); |
| + request->common_params().url, request->source_site_instance(), |
| + request->dest_site_instance(), candidate_site_instance, |
| + request->common_params().transition, |
| + request->restore_type() != NavigationEntryImpl::RESTORE_NONE, |
| + request->is_view_source()); |
| // The appropriate RenderFrameHost to commit the navigation. |
| RenderFrameHostImpl* navigation_rfh = nullptr; |
| @@ -781,18 +777,18 @@ RenderFrameHostImpl* RenderFrameHostManager::GetFrameHostForNavigation( |
| // go cross-process. Check it first. |
| bool can_renderer_initiate_transfer = |
| render_frame_host_->IsRenderFrameLive() && |
| - ShouldMakeNetworkRequestForURL(request.common_params().url) && |
| + ShouldMakeNetworkRequestForURL(request->common_params().url) && |
| IsRendererTransferNeededForNavigation(render_frame_host_.get(), |
| - request.common_params().url); |
| + request->common_params().url); |
| no_renderer_swap |= |
| - !request.browser_initiated() && !can_renderer_initiate_transfer; |
| + !request->browser_initiated() && !can_renderer_initiate_transfer; |
| } else { |
| // Subframe navigations will use the current renderer, unless specifically |
| // allowed to swap processes. |
| - no_renderer_swap |= !CanSubframeSwapProcess(request.common_params().url, |
| - request.source_site_instance(), |
| - request.dest_site_instance()); |
| + no_renderer_swap |= !CanSubframeSwapProcess(request->common_params().url, |
| + request->source_site_instance(), |
| + request->dest_site_instance()); |
| } |
| if (no_renderer_swap) { |
| @@ -805,8 +801,8 @@ RenderFrameHostImpl* RenderFrameHostManager::GetFrameHostForNavigation( |
| if (speculative_render_frame_host_) |
| DiscardUnusedFrame(UnsetSpeculativeRenderFrameHost()); |
| - UpdatePendingWebUIOnCurrentFrameHost(request.common_params().url, |
| - request.bindings()); |
| + UpdatePendingWebUIOnCurrentFrameHost(request->common_params().url, |
| + request->bindings()); |
| navigation_rfh = render_frame_host_.get(); |
| @@ -832,7 +828,7 @@ RenderFrameHostImpl* RenderFrameHostManager::GetFrameHostForNavigation( |
| DCHECK(speculative_render_frame_host_); |
| bool changed_web_ui = speculative_render_frame_host_->UpdatePendingWebUI( |
| - request.common_params().url, request.bindings()); |
| + request->common_params().url, request->bindings()); |
| speculative_render_frame_host_->CommitPendingWebUI(); |
| DCHECK_EQ(GetNavigatingWebUI(), speculative_render_frame_host_->web_ui()); |
| notify_webui_of_rv_creation = |
| @@ -891,6 +887,11 @@ RenderFrameHostImpl* RenderFrameHostManager::GetFrameHostForNavigation( |
| if (notify_webui_of_rv_creation && GetNavigatingWebUI()) |
| GetNavigatingWebUI()->RenderViewCreated(navigation_rfh->render_view_host()); |
| + request->set_associated_site_instance_type( |
| + navigation_rfh == render_frame_host_.get() |
| + ? NavigationRequest::AssociatedSiteInstanceType::CURRENT |
| + : NavigationRequest::AssociatedSiteInstanceType::SPECULATIVE); |
| + |
| return navigation_rfh; |
| } |