Can't scroll over checkerboarding on treeherder

RESOLVED FIXED in Firefox 60

Status

()

defect
P2
normal
RESOLVED FIXED
3 years ago
a year ago

People

(Reporter: mstange, Assigned: botond)

Tracking

Trunk
mozilla60
Points:
---

Firefox Tracking Flags

(firefox52 wontfix, firefox60 fixed)

Details

(Whiteboard: [gfx-noted])

Attachments

(2 attachments)

(Reporter)

Description

3 years ago
STR:
 1. Go to https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound and wait for it to load completely.
 2. On macOS, using a touchpad / magic mouse, do the following very quickly:
   - Scroll down far and fast
   - Lift your fingers and set them back down
   - Scroll up
   such that the new input block is started while the mouse is over checkerboarding.

The scroll up gesture is ignored.

This is probably reproducible on other platforms, but it's harder to force start a new mousewheel transaction before the checkerboarding has stopped.
(Reporter)

Comment 1

3 years ago
It would be nice if fixing this bug resulted in something I could use for overscroll - I need wheel events inside the overscroll "trough" to target the overscrolled scroll frame.
I've seen this on Fennec as well (bug 1278390 comment 3, second paragraph). I thought I filed something for that but can't find it now.
Priority: -- → P2
Whiteboard: [gfx-noted]
Mass wontfix for bugs affecting firefox 52.
(Assignee)

Updated

a year ago
See Also: → 1425603
(Assignee)

Updated

a year ago
Blocks: 1425603
See Also: 1425603
(Assignee)

Comment 4

a year ago
I've been talking about this with Markus, and we have two ideas for how to fix this.

The problem appears to be that during checkerboarding, the checkerboaded areas are not part of the hit region (or DTC region) of the layer for the scrollable content that's checkerboarding. As a result, that layer doesn't get hit during hit testing (its parent does).

  1) This suggests the hit region is clipped to the displayport.
     We could try not clipping it.

  2) We could modify APZ hit testing so that, if none of the
     event regions of a layer nor of its descendants are hit,
     but the layer is scrollable and has a composition bounds
     clip, and the hit testing is inside that clip, we still
     hit the layer.
(Assignee)

Comment 5

a year ago
I'm going to try fixing this.
Assignee: nobody → botond
Comment hidden (mozreview-request)
(Assignee)

Comment 7

a year ago
Doing proper TDD for a change and writing the test first :)
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)
(Assignee)

Comment 11

a year ago
Markus, could you also apply the patches and see if they fix the problem in the scenarios in which you've noticed it? Thanks!

Comment 13

a year ago
mozreview-review
Comment on attachment 8954179 [details]
Bug 1307555 - Mochitest.

https://reviewboard.mozilla.org/r/223338/#review230830

Looks like a good test, thanks!
Attachment #8954179 - Flags: review?(bugmail) → review+
(Reporter)

Comment 14

a year ago
mozreview-review
Comment on attachment 8955697 [details]
Bug 1307555 - Create a hit test info item for a scroll frame's scrolled frame that's not clipped to the displayport.

https://reviewboard.mozilla.org/r/224776/#review232474

This looks good and I suspect that it's going to make my life a lot easier when implementing overscrolling. (I'll probably need to override the rectangle to something bigger, though.)
I haven't actually tested this patch yet, but there's no reason not to r+ and land it in the meantime. Sorry for the delay!
Attachment #8955697 - Flags: review?(mstange) → review+

Comment 15

a year ago
Pushed by bballo@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/d9910fc2faa6
Create a hit test info item for a scroll frame's scrolled frame that's not clipped to the displayport. r=mstange
https://hg.mozilla.org/integration/autoland/rev/3a4d96efd68f
Mochitest. r=kats

Comment 16

a year ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/d9910fc2faa6
https://hg.mozilla.org/mozilla-central/rev/3a4d96efd68f
Status: NEW → RESOLVED
Last Resolved: a year ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla60
You need to log in before you can comment on or make changes to this bug.