Closed Bug 1307555 Opened 5 years ago Closed 4 years ago
Can't scroll over checkerboarding on treeherder
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.
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
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.
I'm going to try fixing this.
Assignee: nobody → botond
Doing proper TDD for a change and writing the test first :)
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+
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+
Pushed by email@example.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
You need to log in before you can comment on or make changes to this bug.