Chrome-only scrollend events are fired multiple times for one gesture
Categories
(Core :: Panning and Zooming, defect, P3)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox106 | --- | fixed |
People
(Reporter: dlrobertson, Assigned: dlrobertson)
References
(Blocks 1 open bug)
Details
Attachments
(2 files)
Currently scrollend events are fired far more frequently than they should according to the spec. This happens because ScrollFrameHelper::ScrollToCSSPixelsForApz calls ScrollFrameHelper::ScrollToWithOrigin with the instant scroll option, which will cause the event to be fired here.
| Assignee | ||
Updated•3 years ago
|
| Assignee | ||
Comment 1•3 years ago
|
||
The scrollend event should only be fired once, at the very end of the gesture.
Fire the event for user gestures only on APZStateChange::eTransformEnd, which
is dispatched when APZ transitions from a transforming state to a state that
does not transform (e.g. a state change from PANNING to NOTHING).
CompleteAsyncScroll() should only post the scrollend event if the scroll was a
programmatic instant scroll.
Updated•3 years ago
|
| Assignee | ||
Comment 2•3 years ago
|
||
Comment 4•3 years ago
|
||
Backed out for causing failures at test_group_scrollend.html.
Backout link: https://hg.mozilla.org/integration/autoland/rev/12ee4f90ec413104a8166e96545c2dea0a8e7659
Failure log: https://treeherder.mozilla.org/logviewer?job_id=390238769&repo=autoland&lineNumber=6988
| Assignee | ||
Comment 5•3 years ago
|
||
Gah! I should have caught that. The test uses wheel scroll events, which are not supported by android. The test should be skipped for mobile.
Comment 6•3 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/a7f54579d83a
https://hg.mozilla.org/mozilla-central/rev/db80d927147a
Description
•