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

Issue 679033 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Bug



Sign in to add a comment

Cross-process redirect on back/forward causes loss of forward history

Project Member Reported by creis@chromium.org, Jan 6 2017

Issue description

Chrome Version: 57.0.2973.0
OS: Win10, Linux

What steps will reproduce the problem?
(1) Start Chrome with --site-per-process and run the testserver.
(2) Visit http://127.0.0.1:8080/
(3) In DevTools, run:
history.replaceState({}, "", "http://127.0.0.1:8080/server-redirect?https://csreis.github.io")
(4) Visit http://127.0.0.1:8080/foo
(5) Go back, which causes a cross-site redirect to https://csreis.github.io.

What is the expected result?
The forward button should be enabled and allow you to go forward to http://127.0.0.1:8080/foo.  (This is what happens without --site-per-process.)

What happens instead?
The forward history is cleared and you can't go forward.  (It does correctly swap processes on the redirect, though.)

This happens because the navigation is incorrectly classified as NAVIGATION_TYPE_NEW_PAGE after the redirect, rather than NAVIGATION_TYPE_EXISTING_PAGE.  (That also means we don't hit the DCHECK in RendererDidNavigateToExistingPage which says the SiteInstance of the NavigationEntry shouldn't change, but jam@ just fixed that DCHECK in r442053.)
 

Comment 1 by creis@chromium.org, Nov 10 2017

Status: Fixed (was: Assigned)
This doesn't seem to repro anymore in 62.0.3202.62 or 64.0.3263.0, before or after my fix for  issue 596707 .  We classify this as EXISTING_PAGE now.

Sign in to add a comment