Closed Bug 1538537 Opened 6 years ago Closed 5 years ago

Cannot scroll down to payment section on a specific website

Categories

(Core :: Layout, defect, P1)

66 Branch
defect

Tracking

()

VERIFIED FIXED
mozilla78
Tracking Status
firefox-esr68 --- unaffected
firefox75 --- unaffected
firefox76 --- unaffected
firefox77 + verified
firefox78 + verified

People

(Reporter: mcnotony, Assigned: emilio)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: regression)

Attachments

(1 file)

User Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:66.0) Gecko/20100101 Firefox/66.0

Steps to reproduce:

visit the checkout on a woocommerce website. tried multiple browsers and firefox is the only one with the issue. updated a dev version to the lastest of wordpress, woocommerce etc.. issue still there.

example: https://www.netpal.co.uk/checkout/ add a product to the cart and go to the checkout.

Actual results:

users cannot scroll to the payment section. there is an infinite loop that holds you at the top of the page and stops you from scrolling down any further. does not affect firefox on ipad or mobile

Expected results:

normal page scrolling behaviour

What is "a woocommerce website"?

Summary: woocommerce checkout → Cannot scroll down to payment section on a specific website

this has been addressed with the following css

body, html {
overflow-x: hidden;
height: auto;
}

Has STR: --- → yes

Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:66.0) Gecko/20100101 Firefox/66.0
Build ID : 20190326175229

I followed the steps that you specified but I was not able to reproduce the issue neither in latest nightly nor in the latest release versions.I can scroll down to the payment section without any problems in both versions. I also tested in version 66.0 and behavior is the same like in latest versions, no issue.

Can you please retest this using latest Nightly build (https://nightly.mozilla.org/) and report back the results ? When doing this, please use a new clean Firefox profile (https://goo.gl/AWo6h8), maybe even safe mode (https://goo.gl/AR5o9d), to eliminate custom settings as a possible cause.

Thank you for your report.

Flags: needinfo?(mcnotony)

If I remove this code from the css the issue is still there

body, html {
overflow-x: hidden;
height: auto;
}

The code only added recently to overcome the problem. The problem came about after a firefox update

Flags: needinfo?(mcnotony)

also tried firefox in safe3 mode with no change to issue. have not tested with nightly build

Ok, after your reply, I set a component and a product for farther investigation to be done.

Component: Untriaged → Layout
Product: Firefox → Core

I will check the site later, but it would be nice to know whether this is a regression or not.

Flags: needinfo?(hikezoe)

Hmm, I can't reproduce the issue either. Anyways, as per comment 4, it seems this is a regression on Firefox 66.

Flags: needinfo?(hikezoe)

I verified this issue on all the latest Firefox versions across OS-es ( Windows 7, Windows 10, Ubuntu 18.04 and Mac OS 10.14) and I could not reproduce the behavior described.

@Mark, given the fact that the issue seems to be related to something that is specific to your setup (as none of us could reproduce it), could you please try to find a regression range using Mozregression tool?
Information on the tool is available at http://mozilla.github.io/mozregression/. Please don't hesitate to contact us if you encounter any problems. Maybe if it's not too much to ask, you could try to capture a short video of the issue and add it to the report for a better understanding.

Flags: needinfo?(mcnotony)

(In reply to Mark Griffin from comment #0)

there is an infinite loop that holds you at the top of the page and stops you from scrolling down any further.

This sounds like it could be "Scroll Anchoring" causing trouble, particularly given that this was reported as a new bug in Firefox 66 (per comment 0 and comment 4).

Keywords: regression

Also do you have any add-on or such that could be inserting content into the website? A copy of about:support would be helpful.

Meanwhile this is probably P3.

Priority: -- → P3

Is this working now on Firefox Nightly? I did a bunch of improvements to scroll anchoring recently.

Hi Mark!
I was not able to reproduce this issue on latest Nightly version 74.0a1 (2020-01-21). As we are in a newer version, could you please try it now and tell us if the same error still persists?
You can download Nightly from here: https://nightly.mozilla.org/.
Best Marcela

I was not able to reproduce this issue, verified on Firefox 66 and latest Nightly, tested several woocommerce websites and scrolling to payment methods works as expected.
Mark, are you still able to reproduce this issue on the latest Nightly?

I could reproduce this in Nightly v77.0a1 from 2020-05-04.
It does not occur on ESR v68.7.0esr or in Release v75.0.
I attempted regression between 77 and 75 and these are my results:

2020-05-04T18:22:16.230000: INFO : Narrowed integration regression window from [ef38e7c8, 67382281] (3 builds) to [ef38e7c8, ace4bfae] (2 builds) (~1 steps left)
2020-05-04T18:22:16.235000: DEBUG : Starting merge handling...
2020-05-04T18:22:16.235000: DEBUG : Using url: https://hg.mozilla.org/integration/autoland/json-pushes?changeset=ace4bfaec6861e9d6b4a3cebc07b96194acf9ed7&full=1
2020-05-04T18:22:17.934000: DEBUG : Found commit message:
Bug 1520581 - Allow to select scroll anchors inside nested scroll frames. r=dholbert

As long as the nested scrollframe doesn't maintain an anchor itself.

This is important for pages which use overflow: hidden to contain large
parts of their scrollable content, see bug 1629237 for an example.

When calling InvalidateAnchor(), we may invalidate an ancestor anchor
itself, if we're not maintaining an anchor and our scrolled frame is
part of the anchor chain. This is important to maintain our state
properly.

I was going to add some assertion to this effect but it can fail when
fragmenting inlines already, so for now I've commented it out and filed
bug 1629280 for that. It's not great, but it cannot lead to a security
issue so we probably can fix it with time.

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

2020-05-04T18:22:17.934000: DEBUG : Did not find a branch, checking all integration branches
2020-05-04T18:22:17.935000: INFO : The bisection is done.
2020-05-04T18:22:17.936000: INFO : Stopped

Apparently, it started reproducing again in the Nightly from the 14th of April. I haven't tried looking for an older regressor or fixer. Please Ni me if further manual testing is required.
Regression test performed on Windows 10 x64 AMD architecture, NVidia GTX 1050, 2 monitor set-up.

Status: UNCONFIRMED → NEW
Has Regression Range: --- → yes
Ever confirmed: true

Looks like a possible regression from bug 1520581, but I can't reproduce it on Nightly on my Mac.

Flags: needinfo?(emilio)

FWIW, I managed to repro this, and I'll take a look.

Assignee: nobody → emilio
Regressed by: 1520581

The test-case is position-change-heuristic.html but with body and #space
having overflow: hidden, which makes it fail on Nightly.

Flags: needinfo?(emilio)

Changing the priority to p1 as the bug is tracked by a release manager for the current beta.
See What Do You Triage for more information

Priority: P3 → P1
Pushed by ealvarez@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/bd3a170fc984 When suppressing anchoring on an scrollframe, forward to the frame that actually maintains the anchor as needed. r=dholbert
Created web-platform-tests PR https://github.com/web-platform-tests/wpt/pull/23701 for changes under testing/web-platform/tests
Flags: needinfo?(mcnotony) → needinfo?(emilio)
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla78

The test is flaky without the accompanying fix. I think it should get admin-merged :)

Flags: needinfo?(emilio) → needinfo?(james)

Done

Flags: needinfo?(james)

Comment on attachment 9149924 [details]
Bug 1538537 - When suppressing anchoring on an scrollframe, forward to the frame that actually maintains the anchor as needed. r=dholbert

Beta/Release Uplift Approval Request

  • User impact if declined: Various regressions, see dupes.
  • Is this code covered by automated tests?: Yes
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: Yes
  • If yes, steps to reproduce: comment 0, https://github.com/webcompat/web-bugs/issues/52850
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): Simple correctness fix for an scroll anchoring change with tests.
  • String changes made/needed: none
Attachment #9149924 - Flags: approval-mozilla-beta?
Flags: qe-verify+

Comment on attachment 9149924 [details]
Bug 1538537 - When suppressing anchoring on an scrollframe, forward to the frame that actually maintains the anchor as needed. r=dholbert

Fixes a new regression in 77 picking up a number of dupes and includes a new automated test. Approved for 77.0b9.

Attachment #9149924 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
QA Whiteboard: [qa-triaged]

Reproduced the issue on Firefox 78.0a1 (20200520033931) on Windows 10 and MacOS 10.15
Verified fixed on Firefox 78.0a1 (20200521093657) and Firefox 77.0b9 (20200521224544)

Status: RESOLVED → VERIFIED
QA Whiteboard: [qa-triaged]
Flags: qe-verify+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: