New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 368813 link

Starred by 45 users

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug


Sign in to add a comment

[META]: Navigation network requests should be made by the browser process (aka PlzNavigate)

Project Member Reported by creis@chromium.org, Apr 30 2014

Issue description

Today, navigations make a network request in the renderer process, even when the navigation is initiated in the browser process.  This leads to delays while waiting for the renderer process, as well as a great deal of complexity (e.g., the need for pending RenderFrameHosts for cross-process navigations).

We should make the browser process issue the resource request for navigation instead, allowing us to create a renderer process in parallel while waiting for the response.  This also allows us to select a RenderFrameHost to render the response using the response's final URL, after all redirects have occurred.

Design plans for this major change are summarized here:
https://docs.google.com/a/chromium.org/document/d/11U9inKVsQgV2J_j_WgIm-SdCW_X2DoZJhU6dj5EcLlE/edit?usp=sharing
 

Comment 1 by vsevik@chromium.org, May 14 2014

Cc: vsevik@chromium.org
Project Member

Comment 2 by bugdroid1@chromium.org, May 14 2014

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b97fc381121ddc9996f9239d57fa4b24dda5893e

commit b97fc381121ddc9996f9239d57fa4b24dda5893e
Author: davidben@chromium.org <davidben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Wed May 14 20:06:34 2014

Move first-party cookie URL logic to browser process.

Rather than have the renderer decide the value and inform the browser, the
browser decides and informs the render.

This removes one piece of navigation request redirect policy that needs to come
from the renderer. Redundant logic in Blink's DocumentLoader::willSendRequest to
be removed in a follow-up.

BUG=368813

Review URL: https://codereview.chromium.org/264613006

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@270463 0039d316-1c4b-4281-b951-d872f2087c98


Project Member

Comment 3 by bugdroid1@chromium.org, May 14 2014

------------------------------------------------------------------
r270463 | davidben@chromium.org | 2014-05-14T20:06:34.256617Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/security_filter_peer.cc?r1=270463&r2=270462&pathrev=270463
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/security_filter_peer.h?r1=270463&r2=270462&pathrev=270463
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/public/child/request_peer.h?r1=270463&r2=270462&pathrev=270463
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/extensions/extension_localization_peer_unittest.cc?r1=270463&r2=270462&pathrev=270463
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/extensions/extension_localization_peer.cc?r1=270463&r2=270462&pathrev=270463
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/common/resource_messages.h?r1=270463&r2=270462&pathrev=270463
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/extensions/extension_localization_peer.h?r1=270463&r2=270462&pathrev=270463
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/loader/async_resource_handler.cc?r1=270463&r2=270462&pathrev=270463
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/loader/cross_site_resource_handler.cc?r1=270463&r2=270462&pathrev=270463
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/child/npapi/plugin_url_fetcher.cc?r1=270463&r2=270462&pathrev=270463
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/loader/async_resource_handler.h?r1=270463&r2=270462&pathrev=270463
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/child/npapi/plugin_url_fetcher.h?r1=270463&r2=270462&pathrev=270463
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/child/resource_dispatcher_unittest.cc?r1=270463&r2=270462&pathrev=270463
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/child/resource_dispatcher.cc?r1=270463&r2=270462&pathrev=270463
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/child/resource_dispatcher.h?r1=270463&r2=270462&pathrev=270463
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/loader/resource_dispatcher_host_unittest.cc?r1=270463&r2=270462&pathrev=270463
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/child/web_url_loader_impl.cc?r1=270463&r2=270462&pathrev=270463

Move first-party cookie URL logic to browser process.

Rather than have the renderer decide the value and inform the browser, the
browser decides and informs the render.

This removes one piece of navigation request redirect policy that needs to come
from the renderer. Redundant logic in Blink's DocumentLoader::willSendRequest to
be removed in a follow-up.

BUG=368813

Review URL: https://codereview.chromium.org/264613006
-----------------------------------------------------------------
Project Member

Comment 4 by bugdroid1@chromium.org, May 16 2014

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=174183

------------------------------------------------------------------
r174183 | davidben@chromium.org | 2014-05-16T16:45:46.935582Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/loader/DocumentLoader.cpp?r1=174183&r2=174182&pathrev=174183

Remove cookie first-party URL redirect logic from Blink.

It's handled in the browser process now, as of
https://codereview.chromium.org/264613006.

BUG=368813

Review URL: https://codereview.chromium.org/285153003
-----------------------------------------------------------------

Comment 5 by clamy@chromium.org, May 21 2014

Summary: [META]: Navigation network requests should be made by the browser process (was: Navigation network requests should be made by the browser process)
Blockedon: chromium:376003

Comment 7 by p...@chromium.org, May 21 2014

Blockedon: chromium:376004
Adding  issue 376004  for performance / metrics / Navigation Timing API.

Comment 8 by clamy@chromium.org, May 21 2014

Blockedon: chromium:376006

Comment 9 by clamy@chromium.org, May 21 2014

Blockedon: chromium:376014
Blockedon: chromium:376015
Blockedon: chromium:376018

Comment 13 by p...@chromium.org, May 22 2014

Blockedon: chromium:376094
Adding  issue 376094  for pre-spawning the renderer.

Comment 14 by nasko@chromium.org, May 22 2014

Blockedon: chromium:376522
Adding issue 376522 for moving CSP to common location.
Cc: michaeln@chromium.org
Cc: carlosk@chromium.org
Blocking: chromium:424383

Comment 18 by clamy@chromium.org, Nov 18 2014

Blockedon: chromium:434383
Owner: clamy@chromium.org
Status: Started
Work on this is well underway.
Blockedon: chromium:439423

Comment 21 Deleted

Blockedon: chromium:440463
Blockedon: chromium:440464
Blockedon: chromium:416877
Summary: [META]: Navigation network requests should be made by the browser process (aka PlzNavigate) (was: [META]: Navigation network requests should be made by the browser process)

Comment 26 by clamy@chromium.org, Feb 16 2015

Blockedon: chromium:459033
Blockedon: chromium:475027
Blockedon: chromium:503975

Comment 29 by clamy@chromium.org, Jun 25 2015

Blockedon: chromium:504347
Blockedon: chromium:432848
Blockedon: chromium:508477
Blockedon: chromium:510836
Blockedon: chromium:513539
Blockedon: chromium:522033
Blockedon: chromium:529643
Project Member

Comment 36 by bugdroid1@chromium.org, Sep 15 2015

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7c60db01bcd5a5b89ade17b76390428e2856e711

commit 7c60db01bcd5a5b89ade17b76390428e2856e711
Author: nasko <nasko@chromium.org>
Date: Tue Sep 15 23:21:27 2015

Adding clamy@ to content/browser/frame_host/ OWNERS.

BUG=368813

Review URL: https://codereview.chromium.org/1340423002

Cr-Commit-Position: refs/heads/master@{#349026}

[add] http://crrev.com/7c60db01bcd5a5b89ade17b76390428e2856e711/content/browser/frame_host/OWNERS

Labels: Hotlist-Recharge
This issue likely requires triage.  The current issue owner maybe inactive (i.e. hasn't fixed an issue in the last 30 days).  Thanks for helping out!

-Anthony

Comment 38 by clamy@chromium.org, Sep 23 2015

Labels: -Hotlist-Recharge
Labels: Hotlist-Recharge
This issue likely requires triage.  The current issue owner maybe inactive (i.e. hasn't fixed an issue in the last 30 days).  Thanks for helping out!

-Anthony

Comment 40 by clamy@chromium.org, Sep 24 2015

Labels: -Hotlist-Recharge
Blockedon: chromium:551000
Blockedon: chromium:555418
Blocking: chromium:508477
Blocking: -chromium:508477
Project Member

Comment 45 by bugdroid1@chromium.org, Dec 16 2015

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d80262f530419ce91eedddff4347949875b5db92

commit d80262f530419ce91eedddff4347949875b5db92
Author: carlosk <carlosk@chromium.org>
Date: Wed Dec 16 14:40:35 2015

PlzNavigate: Add helper method for checking if PlzNavigate is enabled.

In the interest of simplifying the code for checking if browser side
navigation is enabled this change creates a new helper method and
replaces all current occurrences of the "extended" form.

BUG=368813
TBR=mmenke@chromium.org

Review URL: https://codereview.chromium.org/1517643002

Cr-Commit-Position: refs/heads/master@{#365527}

[modify] http://crrev.com/d80262f530419ce91eedddff4347949875b5db92/chrome/browser/captive_portal/captive_portal_tab_helper_unittest.cc
[modify] http://crrev.com/d80262f530419ce91eedddff4347949875b5db92/content/browser/devtools/render_frame_devtools_agent_host.cc
[modify] http://crrev.com/d80262f530419ce91eedddff4347949875b5db92/content/browser/download/download_request_handle.cc
[modify] http://crrev.com/d80262f530419ce91eedddff4347949875b5db92/content/browser/frame_host/frame_tree_node.cc
[modify] http://crrev.com/d80262f530419ce91eedddff4347949875b5db92/content/browser/frame_host/navigation_controller_impl_unittest.cc
[modify] http://crrev.com/d80262f530419ce91eedddff4347949875b5db92/content/browser/frame_host/navigation_handle_impl.cc
[modify] http://crrev.com/d80262f530419ce91eedddff4347949875b5db92/content/browser/frame_host/navigator_impl.cc
[modify] http://crrev.com/d80262f530419ce91eedddff4347949875b5db92/content/browser/frame_host/render_frame_host_impl.cc
[modify] http://crrev.com/d80262f530419ce91eedddff4347949875b5db92/content/browser/frame_host/render_frame_host_manager.cc
[modify] http://crrev.com/d80262f530419ce91eedddff4347949875b5db92/content/browser/frame_host/render_frame_host_manager_unittest.cc
[modify] http://crrev.com/d80262f530419ce91eedddff4347949875b5db92/content/browser/loader/resource_dispatcher_host_impl.cc
[modify] http://crrev.com/d80262f530419ce91eedddff4347949875b5db92/content/browser/loader/resource_dispatcher_host_unittest.cc
[modify] http://crrev.com/d80262f530419ce91eedddff4347949875b5db92/content/browser/loader/resource_request_info_impl.cc
[modify] http://crrev.com/d80262f530419ce91eedddff4347949875b5db92/content/browser/security_exploit_browsertest.cc
[modify] http://crrev.com/d80262f530419ce91eedddff4347949875b5db92/content/browser/service_worker/service_worker_dispatcher_host.cc
[modify] http://crrev.com/d80262f530419ce91eedddff4347949875b5db92/content/browser/service_worker/service_worker_provider_host.cc
[modify] http://crrev.com/d80262f530419ce91eedddff4347949875b5db92/content/browser/service_worker/service_worker_request_handler.cc
[modify] http://crrev.com/d80262f530419ce91eedddff4347949875b5db92/content/browser/site_per_process_browsertest.cc
[modify] http://crrev.com/d80262f530419ce91eedddff4347949875b5db92/content/browser/web_contents/aura/overscroll_navigation_overlay_unittest.cc
[modify] http://crrev.com/d80262f530419ce91eedddff4347949875b5db92/content/browser/web_contents/web_contents_impl.cc
[modify] http://crrev.com/d80262f530419ce91eedddff4347949875b5db92/content/browser/web_contents/web_contents_impl_unittest.cc
[modify] http://crrev.com/d80262f530419ce91eedddff4347949875b5db92/content/child/service_worker/service_worker_network_provider.cc
[modify] http://crrev.com/d80262f530419ce91eedddff4347949875b5db92/content/child/web_url_loader_impl.cc
[modify] http://crrev.com/d80262f530419ce91eedddff4347949875b5db92/content/common/navigation_params.cc
[modify] http://crrev.com/d80262f530419ce91eedddff4347949875b5db92/content/content_common.gypi
[add] http://crrev.com/d80262f530419ce91eedddff4347949875b5db92/content/public/common/browser_side_navigation_policy.cc
[add] http://crrev.com/d80262f530419ce91eedddff4347949875b5db92/content/public/common/browser_side_navigation_policy.h
[modify] http://crrev.com/d80262f530419ce91eedddff4347949875b5db92/content/public/test/test_renderer_host.cc
[modify] http://crrev.com/d80262f530419ce91eedddff4347949875b5db92/content/renderer/render_frame_impl.cc
[modify] http://crrev.com/d80262f530419ce91eedddff4347949875b5db92/content/renderer/render_view_browsertest.cc
[modify] http://crrev.com/d80262f530419ce91eedddff4347949875b5db92/content/test/test_render_frame.cc
[modify] http://crrev.com/d80262f530419ce91eedddff4347949875b5db92/content/test/test_render_frame_host.cc
[modify] http://crrev.com/d80262f530419ce91eedddff4347949875b5db92/content/test/test_web_contents.cc
[modify] http://crrev.com/d80262f530419ce91eedddff4347949875b5db92/extensions/browser/api/app_window/app_window_api.cc
[modify] http://crrev.com/d80262f530419ce91eedddff4347949875b5db92/extensions/browser/app_window/app_window.cc

Blockedon: -chromium:555418
Blockedon: -chromium:529643
Blockedon: chromium:527061
Blockedon: chromium:581295
Blockedon: 599495

Comment 51 by jam@chromium.org, Nov 4 2016

Blockedon: 661811

Comment 52 by jam@chromium.org, Nov 4 2016

Blockedon: 661812
Project Member

Comment 53 by bugdroid1@chromium.org, Dec 5 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d8a6bf34335f3bebf7beac12493d10ee5e4fa7d3

commit d8a6bf34335f3bebf7beac12493d10ee5e4fa7d3
Author: jam <jam@chromium.org>
Date: Mon Dec 05 20:52:34 2016

Require someone working on PlzNavigate to approve changes to the test filters.

Since PlzNavigate is close to launching, we want to ensure that someone from the team approves any new additions to the test filters for browser_tests & content_browsertests, which are almost empty now.

BUG=368813

Review-Url: https://codereview.chromium.org/2548363003
Cr-Commit-Position: refs/heads/master@{#436398}

[modify] https://crrev.com/d8a6bf34335f3bebf7beac12493d10ee5e4fa7d3/testing/buildbot/filters/OWNERS

Blocking: 671609

Comment 55 by jam@chromium.org, Dec 13 2016

Blockedon: 673806

Comment 56 by jam@chromium.org, Dec 15 2016

Blockedon: 674730

Comment 57 by jam@chromium.org, Dec 15 2016

Blockedon: 674734
Project Member

Comment 58 by bugdroid1@chromium.org, Dec 17 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3d001c287618b8298e5b95bd98556a5beffc0316

commit 3d001c287618b8298e5b95bd98556a5beffc0316
Author: John Abd-El-Malek <jam@chromium.org>
Date: Sat Dec 17 20:38:50 2016

Temporarily enable PlzNavigate to see perf bot results.

BUG=368813
TBR=clamy@chromium.org

Review-Url: https://codereview.chromium.org/2584093003 .
Cr-Commit-Position: refs/heads/master@{#439350}

[modify] https://crrev.com/3d001c287618b8298e5b95bd98556a5beffc0316/content/public/common/browser_side_navigation_policy.cc

Project Member

Comment 59 by bugdroid1@chromium.org, Dec 17 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0aefa593f0a6a68ef87b66ed5981fd19649b7e70

commit 0aefa593f0a6a68ef87b66ed5981fd19649b7e70
Author: jam <jam@chromium.org>
Date: Sat Dec 17 21:39:08 2016

Revert of Temporarily enable PlzNavigate to see perf bot results. (patchset #1 id:1 of https://codereview.chromium.org/2584093003/ )

Reason for revert:
Perf bots have started cycling

Original issue's description:
> Temporarily enable PlzNavigate to see perf bot results.
>
> BUG=368813
> TBR=clamy@chromium.org
>
> Committed: https://chromium.googlesource.com/chromium/src/+/3d001c287618b8298e5b95bd98556a5beffc0316

TBR=clamy@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=368813

Review-Url: https://codereview.chromium.org/2584183003
Cr-Commit-Position: refs/heads/master@{#439353}

[modify] https://crrev.com/0aefa593f0a6a68ef87b66ed5981fd19649b7e70/content/public/common/browser_side_navigation_policy.cc

> Perf bots have started cycling

Alea iacta est.
Project Member

Comment 61 by bugdroid1@chromium.org, Dec 20 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/722be6f390eba4c47669ad4307d2580dc09762dc

commit 722be6f390eba4c47669ad4307d2580dc09762dc
Author: jam <jam@chromium.org>
Date: Tue Dec 20 06:42:04 2016

Temporarily enable PlzNavigate to see perf bot results.

BUG=368813
TBR=clamy@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Committed: https://chromium.googlesource.com/chromium/src/+/3d001c287618b8298e5b95bd98556a5beffc0316
Review-Url: https://codereview.chromium.org/2584093003
Cr-Commit-Position: refs/heads/master@{#439731}

[modify] https://crrev.com/722be6f390eba4c47669ad4307d2580dc09762dc/content/public/common/browser_side_navigation_policy.cc

Project Member

Comment 62 by bugdroid1@chromium.org, Dec 20 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/72fb05cc33e924684d007abba2363d293f419c8e

commit 72fb05cc33e924684d007abba2363d293f419c8e
Author: jam <jam@chromium.org>
Date: Tue Dec 20 07:41:06 2016

Revert of Temporarily enable PlzNavigate to see perf bot results. (patchset #1 id:1 of https://codereview.chromium.org/2584093003/ )

Reason for revert:
Change cycled to perf bots.

Original issue's description:
> Temporarily enable PlzNavigate to see perf bot results.
>
> BUG=368813
> TBR=clamy@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://chromium.googlesource.com/chromium/src/+/3d001c287618b8298e5b95bd98556a5beffc0316
> Committed: https://crrev.com/722be6f390eba4c47669ad4307d2580dc09762dc
> Cr-Commit-Position: refs/heads/master@{#439731}

TBR=clamy@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=368813

Review-Url: https://codereview.chromium.org/2587333002
Cr-Commit-Position: refs/heads/master@{#439732}

[modify] https://crrev.com/72fb05cc33e924684d007abba2363d293f419c8e/content/public/common/browser_side_navigation_policy.cc

Comment 64 by clamy@chromium.org, Jan 17 2017

Blocking: 578349

Comment 65 by jam@chromium.org, Jan 17 2017

Blockedon: 682002
Blocking: 689549
Blocking: 698957

Comment 68 by jam@chromium.org, Mar 24 2017

Blockedon: 705119

Comment 69 by jam@chromium.org, Mar 27 2017

Blockedon: 705559

Comment 70 by clamy@chromium.org, Apr 20 2017

Blockedon: -376003

Comment 71 by clamy@chromium.org, Apr 20 2017

Blockedon: -376522
Blockedon: 734772
Components: Internals>Network>Service
Components: -Internals>Network>Service Internals>Services>Network
Apologies, applied the wrong component in bulk.

Comment 75 by jam@chromium.org, Nov 7 2017

Components: -Internals>Services>Network
Project Member

Comment 76 by bugdroid1@chromium.org, Nov 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/08ab85d1637b40f60bc4ce089c5fbc6bb7d84fcf

commit 08ab85d1637b40f60bc4ce089c5fbc6bb7d84fcf
Author: John Abd-El-Malek <jam@chromium.org>
Date: Tue Nov 21 03:17:21 2017

Remove a bunch of old navigation test suites from CQ to reduce load.

On Win and Mac remove all test suites running the old navigation code.

On Android and Linux, keep the content and android_webview layers running.

Bug: 368813
Change-Id: If762a21a70e39e89be6962a0e8b568468023bbc5
Reviewed-on: https://chromium-review.googlesource.com/780381
Commit-Queue: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#518063}
[modify] https://crrev.com/08ab85d1637b40f60bc4ce089c5fbc6bb7d84fcf/testing/buildbot/chromium.android.json
[modify] https://crrev.com/08ab85d1637b40f60bc4ce089c5fbc6bb7d84fcf/testing/buildbot/chromium.fyi.json
[modify] https://crrev.com/08ab85d1637b40f60bc4ce089c5fbc6bb7d84fcf/testing/buildbot/chromium.linux.json
[modify] https://crrev.com/08ab85d1637b40f60bc4ce089c5fbc6bb7d84fcf/testing/buildbot/chromium.mac.json
[modify] https://crrev.com/08ab85d1637b40f60bc4ce089c5fbc6bb7d84fcf/testing/buildbot/chromium.sandbox.json
[modify] https://crrev.com/08ab85d1637b40f60bc4ce089c5fbc6bb7d84fcf/testing/buildbot/chromium.win.json

Sign in to add a comment