[webkit-changes] [WebKit/WebKit] 23d692: [WPE] WPE Platform: add support for tap and drag g...

Pawel Lampe noreply at github.com
Thu Jul 4 01:03:39 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 23d6925f4d0973911cea79158805b5e555a6a0de
      https://github.com/WebKit/WebKit/commit/23d6925f4d0973911cea79158805b5e555a6a0de
  Author: Pawel Lampe <plampe at igalia.com>
  Date:   2024-07-04 (Thu, 04 Jul 2024)

  Changed paths:
    M Source/WebKit/Shared/NativeWebWheelEvent.h
    M Source/WebKit/Shared/libwpe/WebEventFactory.h
    M Source/WebKit/Shared/wpe/NativeWebWheelEventWPE.cpp
    M Source/WebKit/Shared/wpe/WebEventFactoryWPE.cpp
    M Source/WebKit/UIProcess/API/wpe/PageClientImpl.cpp
    M Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp
    M Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.h
    M Source/WebKit/WPEPlatform/CMakeLists.txt
    A Source/WebKit/WPEPlatform/wpe/WPEGestureController.cpp
    A Source/WebKit/WPEPlatform/wpe/WPEGestureController.h
    A Source/WebKit/WPEPlatform/wpe/WPEGestureControllerImpl.cpp
    A Source/WebKit/WPEPlatform/wpe/WPEGestureControllerImpl.h
    A Source/WebKit/WPEPlatform/wpe/WPEGestureDetector.cpp
    A Source/WebKit/WPEPlatform/wpe/WPEGestureDetector.h
    M Source/WebKit/WPEPlatform/wpe/WPEView.cpp
    M Source/WebKit/WPEPlatform/wpe/WPEView.h
    M Source/WebKit/WPEPlatform/wpe/wpe-platform.h

  Log Message:
  -----------
  [WPE] WPE Platform: add support for tap and drag gestures
https://bugs.webkit.org/show_bug.cgi?id=265637

Reviewed by Carlos Garcia Campos.

This change extends the WPE platform API by introducing:
 - WPEGestureController - an interface (with default cross-WPE-platform implementation) that is used to process touch events in order to detect gestures.
This change also provides a code that:
 - Feeds WPEGestureController provided by WPE platform with events.
 - Handles events detected by WPEGestureController:
   - Tap gesture is handled as a mouse click.
   - Drag gesture is handled as a mouse wheel scroll.

* Source/WebKit/Shared/NativeWebWheelEvent.h:
* Source/WebKit/Shared/libwpe/WebEventFactory.h:
* Source/WebKit/Shared/wpe/NativeWebWheelEventWPE.cpp:
(WebKit::NativeWebWheelEvent::NativeWebWheelEvent):
* Source/WebKit/Shared/wpe/WebEventFactoryWPE.cpp:
(WebKit::WebEventFactory::createWebWheelEvent):
* Source/WebKit/UIProcess/API/wpe/PageClientImpl.cpp:
(WebKit::PageClientImpl::doneWithTouchEvent):
* Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:
(WKWPE::ViewPlatform::ViewPlatform):
(WKWPE::ViewPlatform::handleGesture):
* Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.h:
* Source/WebKit/WPEPlatform/CMakeLists.txt:
* Source/WebKit/WPEPlatform/wpe/WPEGestureController.cpp: Added.
(wpe_gesture_controller_default_init):
(wpe_gesture_controller_handle_event):
(wpe_gesture_controller_cancel):
(wpe_gesture_controller_get_gesture):
(wpe_gesture_controller_get_gesture_position):
(wpe_gesture_controller_get_gesture_delta):
(wpe_gesture_controller_is_drag_begin):
* Source/WebKit/WPEPlatform/wpe/WPEGestureController.h: Added.
* Source/WebKit/WPEPlatform/wpe/WPEGestureControllerImpl.cpp: Added.
(wpeHandleEvent):
(wpeCancel):
(wpeGetGesture):
(wpeGetGesturePosition):
(wpeGetGestureDelta):
(wpeIsDragBegin):
(wpe_gesture_controller_impl_class_init):
(wpe_gesture_controller_interface_init):
(wpeGestureControllerImplNew):
* Source/WebKit/WPEPlatform/wpe/WPEGestureControllerImpl.h: Copied from Source/WebKit/WPEPlatform/wpe/wpe-platform.h.
* Source/WebKit/WPEPlatform/wpe/WPEGestureDetector.cpp: Added.
(WPE::GestureDetector::handleEvent):
(WPE::GestureDetector::reset):
* Source/WebKit/WPEPlatform/wpe/WPEGestureDetector.h: Copied from Source/WebKit/WPEPlatform/wpe/wpe-platform.h.
* Source/WebKit/WPEPlatform/wpe/WPEView.cpp:
(wpe_view_set_gesture_controller):
(wpe_view_get_gesture_controller):
* Source/WebKit/WPEPlatform/wpe/WPEView.h:
* Source/WebKit/WPEPlatform/wpe/wpe-platform.h:

Canonical link: https://commits.webkit.org/280661@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list