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

Issue 663777 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Feb 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

PlzNavigate: identify same-document browser-initiated navigations properly

Project Member Reported by clamy@chromium.org, Nov 9 2016

Issue description

With PlzNavigate, we currently fail to identify same-page browser-initiated as such, and issue a network request for them. This should be fixed.
 

Comment 1 by nasko@chromium.org, Nov 9 2016

Doesn't r429302 make PlzNavigate detect same page navigations?

Comment 2 by clamy@chromium.org, Nov 10 2016

Summary: PlzNavigate: identify same-document browser-initiated navigations properly (was: PlzNavigate: identify same-page browser-initiated navigations properly)
No the issue here is that a browser-initiated fragment navigation is not recognized as such. I've renamed the bug to make it clearer.

Comment 3 by clamy@chromium.org, Dec 6 2016

Labels: httpscrbug.com668714AllowsettingnetflagsforNavigationHandle

Comment 4 by clamy@chromium.org, Dec 6 2016

Labels: -httpscrbug.com668714AllowsettingnetflagsforNavigationHandle Proj-PlzNavigate-Blocking
Cc: clamy@chromium.org arthurso...@chromium.org
Owner: arthurso...@chromium.org

Comment 6 by jam@chromium.org, Dec 27 2016

btw the fix is in https://codereview.chromium.org/2584513003/

Comment 7 by clamy@chromium.org, Jan 9 2017

Cc: melandory@chromium.org
 Issue 677491  has been merged into this issue.
Project Member

Comment 8 by bugdroid1@chromium.org, Feb 8 2017

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

commit 92f1868b4b0a675218d0c1b6bd7fa96e3e1a3a9d
Author: arthursonzogni <arthursonzogni@chromium.org>
Date: Wed Feb 08 23:00:04 2017

PlzNavigate: same-page navigation.

This patch handle same-page history and fragment navigations.

With PlzNavigate, these navigations were not identified as
such, and the browser issued a network request for them.
This patch fixes it and a test is added to prevent regressions.

Care has been taken to avoid race conditions between the
browser and the renderer. For instance:
1) The user initiates a same-page navigation. So no network request is
   made and the navigation goes to the renderer.
2) In the meantime, a renderer-initiated navigation occurs and is
   committed.
3) The first navigation arrives in the renderer, but it is no more a
   same page navigation but a normal one. The problem is that no network
   requests was made and the request could not be committed anymore.
In that case, the request is simply dropped. This edge case is very
rare, however.

BUG= 663777 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation

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

[modify] https://crrev.com/92f1868b4b0a675218d0c1b6bd7fa96e3e1a3a9d/content/browser/frame_host/frame_tree_node.cc
[modify] https://crrev.com/92f1868b4b0a675218d0c1b6bd7fa96e3e1a3a9d/content/browser/frame_host/navigation_controller_impl_browsertest.cc
[modify] https://crrev.com/92f1868b4b0a675218d0c1b6bd7fa96e3e1a3a9d/content/browser/frame_host/navigation_controller_impl_unittest.cc
[modify] https://crrev.com/92f1868b4b0a675218d0c1b6bd7fa96e3e1a3a9d/content/browser/frame_host/navigation_entry_impl.cc
[modify] https://crrev.com/92f1868b4b0a675218d0c1b6bd7fa96e3e1a3a9d/content/browser/frame_host/navigation_entry_impl.h
[modify] https://crrev.com/92f1868b4b0a675218d0c1b6bd7fa96e3e1a3a9d/content/browser/frame_host/navigation_handle_impl.cc
[modify] https://crrev.com/92f1868b4b0a675218d0c1b6bd7fa96e3e1a3a9d/content/browser/frame_host/navigation_handle_impl_browsertest.cc
[modify] https://crrev.com/92f1868b4b0a675218d0c1b6bd7fa96e3e1a3a9d/content/browser/frame_host/navigation_request.cc
[modify] https://crrev.com/92f1868b4b0a675218d0c1b6bd7fa96e3e1a3a9d/content/browser/frame_host/navigator_impl.cc
[modify] https://crrev.com/92f1868b4b0a675218d0c1b6bd7fa96e3e1a3a9d/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/92f1868b4b0a675218d0c1b6bd7fa96e3e1a3a9d/content/browser/frame_host/render_frame_host_manager_unittest.cc
[modify] https://crrev.com/92f1868b4b0a675218d0c1b6bd7fa96e3e1a3a9d/content/browser/web_contents/web_contents_impl_unittest.cc
[modify] https://crrev.com/92f1868b4b0a675218d0c1b6bd7fa96e3e1a3a9d/content/common/frame_message_enums.h
[modify] https://crrev.com/92f1868b4b0a675218d0c1b6bd7fa96e3e1a3a9d/content/common/frame_messages.h
[modify] https://crrev.com/92f1868b4b0a675218d0c1b6bd7fa96e3e1a3a9d/content/common/navigation_params.cc
[modify] https://crrev.com/92f1868b4b0a675218d0c1b6bd7fa96e3e1a3a9d/content/common/navigation_params.h
[modify] https://crrev.com/92f1868b4b0a675218d0c1b6bd7fa96e3e1a3a9d/content/public/browser/navigation_handle.h
[modify] https://crrev.com/92f1868b4b0a675218d0c1b6bd7fa96e3e1a3a9d/content/public/test/render_view_test.cc
[modify] https://crrev.com/92f1868b4b0a675218d0c1b6bd7fa96e3e1a3a9d/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/92f1868b4b0a675218d0c1b6bd7fa96e3e1a3a9d/content/renderer/render_frame_impl_browsertest.cc
[modify] https://crrev.com/92f1868b4b0a675218d0c1b6bd7fa96e3e1a3a9d/content/renderer/render_view_browsertest.cc
[modify] https://crrev.com/92f1868b4b0a675218d0c1b6bd7fa96e3e1a3a9d/content/test/test_render_frame_host.cc
[modify] https://crrev.com/92f1868b4b0a675218d0c1b6bd7fa96e3e1a3a9d/content/test/test_web_contents.cc
[modify] https://crrev.com/92f1868b4b0a675218d0c1b6bd7fa96e3e1a3a9d/content/test/test_web_contents.h
[modify] https://crrev.com/92f1868b4b0a675218d0c1b6bd7fa96e3e1a3a9d/ios/web/navigation/navigation_manager_impl.mm
[modify] https://crrev.com/92f1868b4b0a675218d0c1b6bd7fa96e3e1a3a9d/testing/buildbot/filters/browser-side-navigation.linux.content_browsertests.filter
[modify] https://crrev.com/92f1868b4b0a675218d0c1b6bd7fa96e3e1a3a9d/third_party/WebKit/Source/core/loader/FrameLoader.cpp
[modify] https://crrev.com/92f1868b4b0a675218d0c1b6bd7fa96e3e1a3a9d/third_party/WebKit/Source/platform/exported/WebURLRequest.cpp
[modify] https://crrev.com/92f1868b4b0a675218d0c1b6bd7fa96e3e1a3a9d/third_party/WebKit/Source/platform/network/ResourceRequest.cpp
[modify] https://crrev.com/92f1868b4b0a675218d0c1b6bd7fa96e3e1a3a9d/third_party/WebKit/Source/platform/network/ResourceRequest.h
[modify] https://crrev.com/92f1868b4b0a675218d0c1b6bd7fa96e3e1a3a9d/third_party/WebKit/public/platform/WebURLRequest.h

Comment 9 by jam@chromium.org, Feb 13 2017

Status: Fixed (was: Assigned)

Sign in to add a comment