With PlzNavigate, we currently fail to identify same-page browser-initiated as such, and issue a network request for them. This should be fixed.
Doesn't r429302 make PlzNavigate detect same page navigations?
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.
btw the fix is in https://codereview.chromium.org/2584513003/
Issue 677491 has been merged into this issue.
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 1 by nasko@chromium.org
, Nov 9 2016