servo/components/webdriver_server
Euclid Ye 7ac302f255
Fix WebDriverSession::input_cancel_list related logic (#37010)
- Remove incorrect addition to `input_cancel_list` in
`dispatch_keyup_action`
- For `KeyDown` and `PointerDown`, delay the addition to
`input_cancel_list` until "Dispatching action algorithm" is done to
match the spec. Previously the addition is done before notifying
constellation. Moreover, this makes sure that `pointerUp` is appended
even if `dispatch_pointerdown_action` returns early, so that [Release
Actions](https://w3c.github.io/webdriver/#release-actions) always have
the correct order.
- Remove incorrect addition to `input_cancel_list` in
`dispatch_pointerup_action`. This wrongly added "pointerdown" in
[Release Actions](https://w3c.github.io/webdriver/#release-actions)
- Reduce code duplication
- Add TODO for PointerInputState::subtype and pointerID

Testing: `./mach test-wpt -r --log-raw "D:\servo test
log\perform-actions.txt"
tests\wpt\tests\webdriver\tests\classic\perform_actions --product
servodriver` has no new failures so no regression. There are a lot more
passing tests, but I think mostly are because there is no CI for
webdriver.

cc @xiaochengh @jdm @PotatoCP @longvatrong111

---------

Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
2025-05-19 08:34:04 +00:00
..
actions.rs Fix WebDriverSession::input_cancel_list related logic (#37010) 2025-05-19 08:34:04 +00:00
capabilities.rs Establish baseline webdriver conformance results (#35024) 2025-05-01 21:13:27 +00:00
Cargo.toml Create a constellation_traits crate (#36088) 2025-03-22 15:49:08 +00:00
lib.rs chore: update webdriver to 0.53 (#37001) 2025-05-14 08:22:40 +00:00