servo/components/compositing
batu_hoang b422a65a00
Add retry for hit tests with expired epoch in result (#37085)
Follow up to [hit_test failed occasionally when the touch event is
sent](https://github.com/servo/servo/issues/35788#top) and
https://github.com/servo/servo/issues/36676#issuecomment-2882917136,
this PR adds a retry for hit tests with expired epoch in result.

Hit tests with outdated epoch mean it is too early to perform the hit
test.

Solution: retry hit test for the event on the next webrender frame.
The retry should guarantee that:

- Keep the correct order of events
- Retry time is not too long

Test cases: `./mach test-wpt --product servodriver -r
tests\wpt\tests\webdriver\tests\classic\element_click\events.py`

cc: @xiaochengh , @yezhizhen

---------

Signed-off-by: batu_hoang <longvatrong111@gmail.com>
2025-06-04 05:56:20 +00:00
..
Cargo.toml compositor: Add an initial RefreshDriver (#37169) 2025-05-29 10:43:49 +00:00
compositor.rs Add retry for hit tests with expired epoch in result (#37085) 2025-06-04 05:56:20 +00:00
lib.rs compositor: Add an initial RefreshDriver (#37169) 2025-05-29 10:43:49 +00:00
refresh_driver.rs compositor: Add an initial RefreshDriver (#37169) 2025-05-29 10:43:49 +00:00
touch.rs touch: Fix panic with -Zconvert-mouse-to-touch (#36531) 2025-04-15 09:59:30 +00:00
tracing.rs Implement wheel action in webdriver (#36744) 2025-05-07 08:41:34 +00:00
webview_manager.rs Reduce indexing boilerplate for serializable/transferrable objects. (#36624) 2025-04-22 02:02:02 +00:00
webview_renderer.rs Add retry for hit tests with expired epoch in result (#37085) 2025-06-04 05:56:20 +00:00