servo/ports/servoshell
Bi Fuguo f3a8bf8ca2
Touch handler: Fix race condition and rate-limit move events (#35537)
* TouchSequenceInfo is added to store information about a touch sequence.
  For details about TouchSequenceInfo, see the code comments.
The handling_touch_move attribute is added to the TouchHandler, indicating that the script is processing the touch move event.
  When handling_touch_move is set to true, the touch move event does not need to be sent to the script thread.

Signed-off-by: kongbai1996 <1782765876@qq.com>

* move touch state, active_touch_point and handling_touch_move to TouchSequenceInfo form TouchHandler.
remove TouchSequenceInfo end_sequence property, add Finished state mark sequence end.
if preventDefault on touchup, do not prevent Fling.

Signed-off-by: kongbai1996 <1782765876@qq.com>

* Refactor Touchhandler

- Add a newtype wrapper for the TouchSequenceId
- Move more state back into the TouchSequenceState
- Rename TouchAction to TouchMoveAction,
  since it only covers immediate actions now.
  Everything else is handled via state, since
  it needs to wait on the handler.

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>

* Fix test-tidy

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>

* Fix clippy missing-default lint

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>

* Fix remaining clippy lints

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>

* Remove accidental committed test file

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>

* Remove wrong todo comment

(move events that are sent to script are just raw  touchpoints,
 no merging needed)

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>

* Fix preventdefault after long touch_down handler

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>

---------

Signed-off-by: kongbai1996 <1782765876@qq.com>
Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
Co-authored-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2025-02-25 07:13:16 +00:00
..
desktop Touch handler: Fix race condition and rate-limit move events (#35537) 2025-02-25 07:13:16 +00:00
egl Touch handler: Fix race condition and rate-limit move events (#35537) 2025-02-25 07:13:16 +00:00
platform Fix a leak in MacOS thread count function (#34862) 2025-01-07 03:28:30 +00:00
backtrace.rs Add OpenHarmony support to servoshell (#32594) 2024-06-28 12:51:50 +00:00
build.rs Fix a leak in MacOS thread count function (#34862) 2025-01-07 03:28:30 +00:00
Cargo.toml compositing: Move image output and shutdown management out of the compositor (#35538) 2025-02-20 18:27:49 +00:00
crash_handler.rs Fix various clippy warnings on OpenHarmony (#34281) 2024-11-19 05:21:48 +00:00
lib.rs Add cli option for tracing-filter (#35370) 2025-02-08 07:10:12 +00:00
main.rs Make tracing available on all platforms, with or without perfetto (#33301) 2024-09-04 12:56:29 +00:00
panic_hook.rs api: Flatten and simplify Servo preferences (#34966) 2025-01-14 13:54:06 +00:00
parser.rs api: Flatten and simplify Servo preferences (#34966) 2025-01-14 13:54:06 +00:00
prefs.rs compositing: Move image output and shutdown management out of the compositor (#35538) 2025-02-20 18:27:49 +00:00
resources.rs libservo: Stop using script_traits in the embedding layer (#35185) 2025-01-28 11:15:36 +00:00
test.rs api: Flatten and simplify Servo preferences (#34966) 2025-01-14 13:54:06 +00:00