Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(88)

Side by Side Diff: content/browser/frame_host/render_frame_host_manager.cc

Issue 2567253005: PlzNavigate: set browser_initiated based on the NavigationEntry (Closed)
Patch Set: Rebase + addressed comments Created 3 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/frame_host/render_frame_host_manager.h" 5 #include "content/browser/frame_host/render_frame_host_manager.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <string> 10 #include <string>
(...skipping 794 matching lines...) Expand 10 before | Expand all | Expand 10 after
805 // IPC, and will then proceed in the same renderer. In site-per-process 805 // IPC, and will then proceed in the same renderer. In site-per-process
806 // mode, it is possible for renderer-intiated navigations to be allowed to 806 // mode, it is possible for renderer-intiated navigations to be allowed to
807 // go cross-process. Check it first. 807 // go cross-process. Check it first.
808 bool can_renderer_initiate_transfer = 808 bool can_renderer_initiate_transfer =
809 render_frame_host_->IsRenderFrameLive() && 809 render_frame_host_->IsRenderFrameLive() &&
810 ShouldMakeNetworkRequestForURL(request.common_params().url) && 810 ShouldMakeNetworkRequestForURL(request.common_params().url) &&
811 IsRendererTransferNeededForNavigation(render_frame_host_.get(), 811 IsRendererTransferNeededForNavigation(render_frame_host_.get(),
812 request.common_params().url); 812 request.common_params().url);
813 813
814 no_renderer_swap |= 814 no_renderer_swap |=
815 !request.browser_initiated() && !can_renderer_initiate_transfer; 815 !request.may_transfer() && !can_renderer_initiate_transfer;
816 } else { 816 } else {
817 // Subframe navigations will use the current renderer, unless specifically 817 // Subframe navigations will use the current renderer, unless specifically
818 // allowed to swap processes. 818 // allowed to swap processes.
819 no_renderer_swap |= !CanSubframeSwapProcess(request.common_params().url, 819 no_renderer_swap |= !CanSubframeSwapProcess(request.common_params().url,
820 request.source_site_instance(), 820 request.source_site_instance(),
821 request.dest_site_instance()); 821 request.dest_site_instance());
822 } 822 }
823 823
824 if (no_renderer_swap) { 824 if (no_renderer_swap) {
825 // GetFrameHostForNavigation will be called more than once during a 825 // GetFrameHostForNavigation will be called more than once during a
(...skipping 1925 matching lines...) Expand 10 before | Expand all | Expand 10 after
2751 resolved_url)) { 2751 resolved_url)) {
2752 DCHECK(!dest_instance || 2752 DCHECK(!dest_instance ||
2753 dest_instance == render_frame_host_->GetSiteInstance()); 2753 dest_instance == render_frame_host_->GetSiteInstance());
2754 return false; 2754 return false;
2755 } 2755 }
2756 2756
2757 return true; 2757 return true;
2758 } 2758 }
2759 2759
2760 } // namespace content 2760 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698