servo/ports/servoshell
Bi Fuguo 3fe42a0b5a
implement Touchevent prevent default behavior (#35031)
* implement Touchevent prevent default behavior

* The status change logic of the `TouchHandler` is changed.
> The `WaitingForScript` state is canceled. TouchAction can be identified
  based on the current touch type and numbers if touch points.
* Sends current event to script thread along with recognized `TouchAction`.
> After dispatch event, script thread sends a `TouchEventProcess(EventResult)`
  message to main thread. If the event is set to `DefaultAllowed`, the
  corresponding `TouchAction` information is added.
* After receiving `DefaultAllowed(TouchAction)` message, main thread executes corresponding action.
> `DefaultPrevented(TouchEventType)` is received. Use `prevent_click` to mark
  that the default `Click` is blocked, and `prevent_move` to mark that the
  default `Scroll` and `Zoom` are blocked. In this way, all TouchActions
  implement preventDefault.
Signed-off-by: Bi Fuguo <1782765876@qq.com>

* fix some suggestions

* support preventDefault fling
* move `TouchAction` to share touch directory
* check preventDefault everytime when touch
* fix zoom ineffective

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

* fix some suggestions

rename on_event_processed to  on_touch_event_processed
clear unused features

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

* Optimizes pan performance by continuously sliding without waiting for the eventhandler.

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

* resolve conflict

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

---------

Signed-off-by: Bi Fuguo <1782765876@qq.com>
Signed-off-by: kongbai1996 <1782765876@qq.com>
2025-02-17 10:50:04 +00:00
..
desktop implement Touchevent prevent default behavior (#35031) 2025-02-17 10:50:04 +00:00
egl implement Touchevent prevent default behavior (#35031) 2025-02-17 10:50:04 +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 libservo: Add a ClipboardDelegate and a default implementation (#35297) 2025-02-07 10:43:46 +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 servoshell: Move initial_window_size and screen_size_override into ServoShellPreferences from Opts (#35407) 2025-02-10 20:48:48 +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