Regression : In-page navigations do not complete after middle click on back button.
Reported by
yfulgaon...@etouch.net,
Aug 8 2016
|
||||||
Issue descriptionChrome Version : 54.0.2823.1 (Official Build) 787b4d3322f8e433876ccb912291f3239c786a09-refs/branch-heads/2823@{#1} (64-bit) OS: Mac (10.10.5, 10.11.5), Windows (7,8,10) What steps will reproduce the problem? 1. Launch chrome, go to chrome://settings and click on ‘About’. 2. Now middle click on back navigation button and observe. Actual : Page does not load after middle click on back navigation button. Expected : Page should load properly after middle click on back navigation button. This is a regression issue broken in M-54, will soon update other info.
,
Aug 8 2016
Adding release block label, please undo if not the case.
,
Aug 8 2016
I can confirm, and it does appear to be due to my r410150. Interestingly, it doesn't affect middle clicking the back button on normal pages, nor other chrome:// pages like chrome-urls or histograms. Duplicating the tab and then going back/forward also seems to work. Wow, even typing "chrome://chrome" instead of clicking "About" in step 1 appears to work. This seems to be specific to doing a back/forward with a new tab disposition (middle click, ctrl click, etc) on the various Settings pages (Settings, About, Extensions), after a renderer-initiated navigation within the process. It appears to affect both the default Settings and the Material Design Settings, though. I've noticed that we do get to the commit in the new tab, but nothing displays after that, and we never seem to get to DidStopLoading. The new tab is in the same process as the original tab (as expected), and the original tab remains responsive. I don't see any additional failures in debug builds. Maybe there's something preventing the resources from loading? I'll keep looking.
,
Aug 12 2016
I tracked this down. We're marking the back navigation as WebHistorySameDocumentLoad because it looks like an in-page navigation compared to the last committed NavigationEntry (which hasn't actually been loaded in the newly created tab). Blink apparently doesn't support SameDocumentLoads very well when there's no committed page. This wasn't a problem before switching to the new navigation path because the renderer process's HistoryController wouldn't have marked it as a SameDocumentLoad. It matters now because the browser process isn't checking whether the renderer process has committed a page yet or not. This can also occur if the renderer process has crashed and then you go back in-page. (Amusingly, I found this yesterday and it was independently filed as 637220. I'll mark it as a dupe of this one.) Note that these bugs are not specific to the settings page. They'll happen on any in-page navigation. More general repro steps: 1) Visit http://csreis.github.io/tests/. 2) Visit http://csreis.github.io/tests/#foo. 3) Ctrl+click back. Or for the crashed process version: 1) Visit http://csreis.github.io/tests/. 2) Visit http://csreis.github.io/tests/#foo. 3) Kill the renderer process in the task manager. 4) Go back.
,
Aug 12 2016
Issue 637220 has been merged into this issue.
,
Aug 12 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5413169e62dc4c20d31e1afaea680f943bbe085c commit 5413169e62dc4c20d31e1afaea680f943bbe085c Author: creis <creis@chromium.org> Date: Fri Aug 12 18:32:25 2016 Don't mark a history navigation as in page in a new renderer process. Blink won't realize that the page needs to be loaded from scratch and will stay in-page on the initial blank page. This became a problem when moving the in-page determination to the browser process, where we need to check whether the renderer process has a committed page or not. BUG= 635403 TEST=Ctrl+back in page (see bug comment 4 for repro steps) CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation Review-Url: https://codereview.chromium.org/2239413002 Cr-Commit-Position: refs/heads/master@{#411712} [modify] https://crrev.com/5413169e62dc4c20d31e1afaea680f943bbe085c/content/browser/frame_host/navigation_controller_impl.cc [modify] https://crrev.com/5413169e62dc4c20d31e1afaea680f943bbe085c/content/browser/frame_host/navigation_controller_impl_browsertest.cc [modify] https://crrev.com/5413169e62dc4c20d31e1afaea680f943bbe085c/content/renderer/render_frame_impl.cc
,
Aug 12 2016
,
Aug 16 2016
Retested the above issue on All-OS(Windows, Mac & Ubuntu 14.04) with chrome version '54.0.2830.0' and In-page navigation are getting complete after the middle mouse click on back button. Hence marking the same as TE-Verified-54.0.2830.0. Attach is the screen cast for the same. Thank you!
,
Sep 7 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/bebdfe3164e28e099388534bd89b2af2b28d69b4 commit bebdfe3164e28e099388534bd89b2af2b28d69b4 Author: nasko <nasko@chromium.org> Date: Wed Sep 07 21:36:39 2016 Add a NOTREACHED for same document load with no history item. BUG= 635403 Review-Url: https://codereview.chromium.org/2318313002 Cr-Commit-Position: refs/heads/master@{#417045} [modify] https://crrev.com/bebdfe3164e28e099388534bd89b2af2b28d69b4/content/renderer/render_frame_impl.cc |
||||||
►
Sign in to add a comment |
||||||
Comment 1 by yfulgaon...@etouch.net
, Aug 8 2016Labels: hasbisect OS-Linux
Owner: creis@chromium.org
Status: Assigned (was: Unconfirmed)
4.0 MB
4.0 MB Download
2.7 MB
2.7 MB Download