Closed Bug 1425603 Opened 2 years ago Closed 2 years ago

Add a test for obeying overscroll-behavior when scrolling over a checkerboarded area

Categories

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

defect

Tracking

()

RESOLVED FIXED
mozilla61
Tracking Status
firefox57 --- unaffected
firefox58 --- unaffected
firefox59 --- wontfix
firefox60 --- wontfix
firefox61 --- fixed

People

(Reporter: botond, Assigned: botond)

References

Details

(Whiteboard: [gfx-noted])

Attachments

(2 files)

Attached file Testcase
STR:
  1. Load the attached testcase
  2. Scroll over or click on the scrollable <div>
     to cause it to be layerized.
  3. Scroll over the <div> quickly until checkerboarding
     is triggered, and then continue scrolling over the
     checkerboarded area until you reach the bottom and
     then some more.

Expected results:
  overscroll-behavior is obeyed (the scroll is not handed
  off to the page).

Actual results:
  Sometimes, the scroll is handed off to the page.
This may be related to bug 1307555.
See Also: → 1307555
Depends on: 951793
Attachment #8937201 - Attachment mime type: text/plain → text/html
(In reply to Botond Ballo [:botond] from comment #1)
> This may be related to bug 1307555.

I'm seeing wheel scrolls over checkerboarded areas consistently hitting the enclosing scroll frame (I assume due to bug 1307555), but only intermittently triggering scrolling of it.
(In reply to Botond Ballo [:botond] from comment #2)
> I'm seeing wheel scrolls over checkerboarded areas consistently hitting the
> enclosing scroll frame (I assume due to bug 1307555), but only
> intermittently triggering scrolling of it.

That appears to be due to wheel transactions: hitting the enclosing scroll frame only results in scrolling it if the event is not added to the existing wheel transaction for the subframe. This happens if the mouse is moved since the last scroll (or if the wheel transaction timeout is reached, but that's unlikely since chances are we don't checkerboard that long).

Indeed, that gives rise to the following, more reliable STR for this bug:

STR:
  1. Load the attached testcase
  2. Scroll over or click on the scrollable <div>
     to cause it to be layerized.
  3. Scroll over the <div> quickly until checkerboarding
     is triggered.
  4. While checkerboarding, move the mouse, still
     keeping it within the <div> and over the
     checkerboarded area, and quickly scroll again.

Given this diagnosis, I don't see a way to fix this bug without fixing the underlying bug 1307555.
Depends on: 1307555
See Also: 1307555
I've confirmed that the patch in bug 1307555 fixes this. We may still want to add a testcase specific to overscroll-behavior in this bug.
(In reply to Botond Ballo [:botond] from comment #4)
> I've confirmed that the patch in bug 1307555 fixes this. We may still want
> to add a testcase specific to overscroll-behavior in this bug.

I'm working on a test.
Assignee: nobody → botond
Summary: overscroll-behavior intermittently not obeyed when scrolling over checkerboarded area → Add a test for obeying overscroll-behavior when scrolling over a checkerboarded area
Comment on attachment 8961987 [details]
Bug 1425603 - APZ mochitest for obeying overscroll-behavior when scrolling over a checkerboarded area.

https://reviewboard.mozilla.org/r/230832/#review236344

There's some trailing whitespace in the test file, but otherwise looks good!
Attachment #8961987 - Flags: review?(bugmail) → review+
Pushed by bballo@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/f8d06bbeaf8e
APZ mochitest for obeying overscroll-behavior when scrolling over a checkerboarded area. r=kats
https://hg.mozilla.org/mozilla-central/rev/f8d06bbeaf8e
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla61
The actual fix for this scenario landed in 60, in bug 1307555. The only thing that landed here is a test, and I don't think we need to uplift that to 60.
QA Whiteboard: [good first verify]
You need to log in before you can comment on or make changes to this bug.