servo/components/shared
batu_hoang f52fa9b672
Synchronize dispatch_actions in WebDriver (#36932)
Implement missing synchronization in `dispatch_actions` of `WebDriver`.
https://w3c.github.io/webdriver/#dispatching-actions

> The user agent event loop has spun enough times to process the DOM
events generated by the last invocation of the >[dispatch tick
actions](https://w3c.github.io/webdriver/#dfn-dispatch-tick-actions)
steps.

- Add a way for `ScriptThread` to notify `WebDriver` about the
completion of input commands.
- Add a `webdriver_id` field for `InputEvent`. `ScriptThread` uses it to
distinguish WebDriver events and sends notification.

Tests:
`./mach test-wpt --product servodriver -r
tests\wpt\tests\webdriver\tests\classic\element_click\events.py` pass if
`hit_testing` pass. Check
[issue](https://github.com/servo/servo/issues/36676#issuecomment-2882917136)

cc: @xiaochengh

---------

Signed-off-by: batu_hoang <longvatrong111@gmail.com>
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2025-05-21 11:03:04 +00:00
..
background_hang_monitor script: add skeleton implementation of FontFace API (#35262) 2025-02-19 05:50:01 +00:00
base layout: Split stacking context and display list construction (#37047) 2025-05-20 13:42:39 +00:00
bluetooth Include WebViewId into EmbedderMsg variants where possible (#35211) 2025-01-30 11:15:35 +00:00
canvas Introduce snapshot concept of canvas (#36119) 2025-04-23 07:32:47 +00:00
compositing Synchronize dispatch_actions in WebDriver (#36932) 2025-05-21 11:03:04 +00:00
constellation Synchronize dispatch_actions in WebDriver (#36932) 2025-05-21 11:03:04 +00:00
devtools devtools: Allow highlighting elements from the inspector (#35822) 2025-05-05 10:10:25 +00:00
embedder Synchronize dispatch_actions in WebDriver (#36932) 2025-05-21 11:03:04 +00:00
fonts Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
net net: Measure memory usage of storage thread. (#37053) 2025-05-20 14:50:02 +00:00
profile Remove layout-2013 profiling categories (#37014) 2025-05-15 16:54:02 +00:00
script libservo: Allow embedders to execute JavaScript scripts via the API (#35720) 2025-05-13 12:54:18 +00:00
script_layout svg: Add mock SVGImageElement interface (#36975) 2025-05-13 10:43:10 +00:00
snapshot Introduce snapshot concept of canvas (#36119) 2025-04-23 07:32:47 +00:00
webgpu Introduce snapshot concept of canvas (#36119) 2025-04-23 07:32:47 +00:00
webxr libservo: Move EventLooperWaker from webxr_traits to embedder_traits (#36420) 2025-04-09 14:19:33 +00:00