Can't scroll over checkerboarding on treeherder

RESOLVED FIXED in Firefox 60

Status

()

defect
P2
normal
RESOLVED FIXED
3 years ago
Last year

People

(Reporter: mstange, Assigned: botond)

Tracking

Trunk
mozilla60
Points:
---
Dependency tree / graph

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

2 years ago
See Also: → 1425603
Assignee

Updated

2 years ago
Blocks: 1425603
See Also: 1425603
Assignee

Comment 4

2 years 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

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

Comment 7

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

Comment 11

Last year
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 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

Last year
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

Last year
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

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