Make behaviour for scrollBy(0, 0) consistent while APZ scroll animation is in progress
Categories
(Core :: Panning and Zooming, defect, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox82 | --- | verified |
People
(Reporter: kats, Assigned: kats)
References
(Blocks 1 open bug)
Details
Attachments
(2 files)
While working on bug 1655733 I came across a scenario that we don't handle particularly well currently. See the attached test case. In "test1" we start an APZ smooth scroll animation, and in the same transaction, follow up with a scrollBy(0, 0)
. This has the effect of canceling the smooth scroll animation entirely, so the scroll position remains at 0.
In "test2" we wait a couple of frames before doing the scrollBy(0, 0)
so that the animation starts on APZ first. This then doesn't cancel the animation and it runs all the way to completion.
From a web author perspective these two behaviours are inconsistent, because the fact that the a paint transaction happened in between or not is mostly an implementation detail. Note also that Chrome always runs smooth scroll animation to the end.
This test case is the same as "test1" and test_relative_update exercises a scenario similar to "test2" where it expects the scrollBy to be merged with APZ animations. So I think one of these tests should change, probably the first one.
Assignee | ||
Updated•4 years ago
|
Assignee | ||
Updated•4 years ago
|
Assignee | ||
Comment 1•4 years ago
|
||
Depends on D88746
Pushed by kgupta@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/04b1220fb043 Update test expectation to match Chrome and be consistent with other similar scenarios. r=tnikkel
Comment 3•4 years ago
|
||
bugherder |
Updated•4 years ago
|
Comment 4•4 years ago
|
||
Reproduced the issue on affected Release 81.0 on Windows 10 x64 - the scroll animation is not displayed for Test 1
Verified-fixed on the latest Nightly 83.0a1 (2020-09-22) (64-bit) and Beta 82.0b2 on Windows 10, MacOS 10.15 and Ubuntu 16.04. The scroll animation will be displayed correctly and smoothly for Test1 and Test2 as it can also be observed on Chrome.
Description
•