Closed Bug 1601805 Opened 5 years ago Closed 5 years ago

Closing Wikipedia image resets page scroll offset

Categories

(Core :: Panning and Zooming, defect, P2)

72 Branch
Desktop
All
defect

Tracking

()

RESOLVED DUPLICATE of bug 1594345

People

(Reporter: bram.speeckaert, Unassigned)

References

(Regression)

Details

(Keywords: regression)

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:72.0) Gecko/20100101 Firefox/72.0

Steps to reproduce:

  1. Open a Wikipedia page with images (e.g. https://en.wikipedia.org/wiki/OS/2)
  2. Scroll down
  3. Click on an image
  4. Dismiss the image dialog (by clicking the X in the upper-left corner or pressing Escape)

Actual results:

The page scroll offset has been reset to the top of the page.

Expected results:

The page scroll offset after dismissing the image dialog should match the page scroll offset before clicking on the image, as it does in other browsers.

I have confirmed this issue on the main FX versions and it appears as it does not occur on ESR v68.3.0esr.
I have set the component to (Core) Panning and Zooming and I have performed a regression:
"2019-12-09T12:41:10: INFO : Narrowed inbound regression window from [aff5ac85, 214fac6e] (4 builds) to [f7dd2503, 214fac6e] (2 builds) (~1 steps left)
2019-12-09T12:41:10: DEBUG : Starting merge handling...
2019-12-09T12:41:10: DEBUG : Using url: https://hg.mozilla.org/integration/autoland/json-pushes?changeset=214fac6eb1c05177c7ef8eb29b87cceb09eb4110&full=1
2019-12-09T12:41:11: DEBUG : Found commit message:
Bug 1563587, Make history.back/forward/go asynchronous, r=farre

The main part of the change is the change to ChildSHistory - make it possible to have Go() to be called asynchronously
and also let one to cancel pending history navigations. History object (window.history) can then use either the sync or
async Go(), depending on the dom.window.history.async pref.

LoadDelegate, which is used by GeckoView, needs special handling, since
it spins event loop nestedly. With session history loads and same-document loads we can just
bypass it.
To deal with same-document case, MaybeHandleSameDocumentNavigation is split to IsSameDocumentNavigation,
which collects relevant information about the request and returns true if same-document navigation should happen,
and then later HandleSameDocumentNavigation uses that information to trigger the navigation.
SameDocumentNavigationState is used to pass the information around.

referrer-policy-test-case.sub.js is buggy causing tests to pass only on Firefox with sync history API.

nested-context-navigations-iframe.html.ini is added because of https://bugzilla.mozilla.org/show_bug.cgi?id=1572932

Differential Revision: https://phabricator.services.mozilla.com/D41199

2019-12-09T12:41:11: DEBUG : Did not find a branch, checking all integration branches
2019-12-09T12:41:11: INFO : The bisection is done.
2019-12-09T12:41:11: INFO : Stopped"

Status: UNCONFIRMED → NEW
Has Regression Range: --- → yes
Has STR: --- → yes
Component: Untriaged → Panning and Zooming
Ever confirmed: true
Keywords: regression
OS: Unspecified → All
Product: Firefox → Core
Regressed by: 1572932
Hardware: Unspecified → Desktop
Priority: -- → P2
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.