webdriver: Support interspersed scroll actions via event queue#43126
webdriver: Support interspersed scroll actions via event queue#43126yezhizhen merged 3 commits intoservo:mainfrom
Conversation
Signed-off-by: Euclid Ye <[email protected]>
Signed-off-by: Euclid Ye <[email protected]>
yezhizhen
left a comment
There was a problem hiding this comment.
Pls just check the second commit. First commit removes the loop, and does fmt.
| } | ||
|
|
||
| pub(crate) struct PendingPointerMove { | ||
| #[expect(private_interfaces)] |
There was a problem hiding this comment.
This is to suppress
warning: type `PendingScroll` is more private than the item `PendingActions::Scroll::0`
--> components\webdriver_server\actions.rs:69:12
|
69 | Scroll(PendingScroll),
| ^^^^^^^^^^^^^ field `PendingActions::Scroll::0` is reachable at visibility `pub(crate)`
For our case, we just need PendingActions to be seen in lib.rs to declare Vec<PendingActions>.
| pending_pointer_moves: Vec<PendingPointerMove>, | ||
| /// Ongoing [`PointerMoveAction`] or [`WheelScrollAction`] that are being incrementally | ||
| /// processed across multiple execution cycles within the current tick. | ||
| pending_actions: Vec<PendingActions>, |
|
🤖 Opened new upstream WPT pull request (web-platform-tests/wpt#58388) with upstreamable changes. |
|
🔨 Triggering try run (#22895449385) for Linux (WPT) |
|
✍ Updated existing upstream WPT pull request (web-platform-tests/wpt#58388) title and body. |
1 similar comment
|
✍ Updated existing upstream WPT pull request (web-platform-tests/wpt#58388) title and body. |
|
Test results for linux-wpt from try job (#22895449385): Flaky unexpected result (1)
|
|
✨ Try run (#22895449385) succeeded. |
b3b4e97 to
b6c5db3
Compare
|
📝 Transplanted new upstreamable changes to existing upstream WPT pull request (web-platform-tests/wpt#58388). |
|
✍ Updated existing upstream WPT pull request (web-platform-tests/wpt#58388) title and body. |
b6c5db3 to
c8a7267
Compare
|
📝 Transplanted new upstreamable changes to existing upstream WPT pull request (web-platform-tests/wpt#58388). |
c230ee1 to
97c7a8c
Compare
|
📝 Transplanted new upstreamable changes to existing upstream WPT pull request (web-platform-tests/wpt#58388). |
|
✍ Updated existing upstream WPT pull request (web-platform-tests/wpt#58388) title and body. |
Signed-off-by: Euclid Ye <[email protected]>
97c7a8c to
7c724b1
Compare
|
📝 Transplanted new upstreamable changes to existing upstream WPT pull request (web-platform-tests/wpt#58388). |
|
✍ Updated existing upstream WPT pull request (web-platform-tests/wpt#58388) title and body. |
|
🔨 Triggering try run (#22903188798) for Linux (WPT) |
|
Test results for linux-wpt from try job (#22903188798): Flaky unexpected result (1)
Stable unexpected results (1)
|
|
|
|
New test is intermittent for Servo. Seems to be a bug in script. |
|
Filed #43136 |
…vent` when coalescing wheel events (#43138) Basically, any testdriver tests with scroll duration more than `16ms` can be intermittent due to this. Fixes: #43136 Fixes: #43110 Testing: This fixes the issue where newly added test in #43126 randomly TIMEOUT with very high probability: https://github.com/servo/servo/actions/runs/22906496902 Signed-off-by: Euclid Ye <[email protected]>
Scroll and PointerMove is quite similar. We did so for
PointeMovein #42289 + #42946.Imagine having 3 non-zero duration scroll actions with origin at different Elements.
Previously we would wait for one to be fully dispatched before moving to next action,
instead of interspersed.
We also consolidate
PendingPointerMoveandnewly added
PendingScrollintoenum PendingActions.Testing:
Existing tests behaviour not changing.. Added a wdspec test.
Previously:
['wheel', 'wheel', 'wheel', 'wheel', 'wheel', 'wheel', 'wheel', 'wheel', 'wheel', 'move']Now:
['wheel', 'move', 'wheel', 'move', 'wheel', 'move', 'move', 'wheel', 'wheel', 'move', 'move', 'wheel', 'wheel', 'move', 'move', 'wheel']