mirror of
https://github.com/servo/servo
synced 2026-05-12 09:56:50 +02:00
Enable `pointerMove` to perform a smooth transition over specified
duration.
- Sync move/scroll interval with default tick duraiton in testdriver:
a60a8b1b4d/tests/wpt/tests/resources/testdriver-actions.js (L34-L38)
- Fully process all pending pointer moves within this tick. This is one
of the conditions that is
[required](https://w3c.github.io/webdriver/#dfn-perform-a-pointer-move:~:text=There%20are%20no%20pending%20asynchronous%20waits%20arising%20from%20the%20last%20invocation%20of%20the%20dispatch%20tick%20actions%20steps%2E)
to finish this tick. Previously, the pending move events might be
processed in next Tick, if they have long duration.
https://github.com/user-attachments/assets/8692086f-32bb-45f3-ae0c-a072f68e1e84
https://github.com/user-attachments/assets/35af99a9-889b-41c1-91e2-55f22ad453a1
Testing: Added a WPT test. I'm surprised it is not covered by existing
tests, given the huge behaviour difference.
Fixes: https://github.com/servo/servo/issues/42950
Part of https://github.com/servo/servo/issues/41620
---------
Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>