Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c4264e1b1836110efffc4cabc2ed5d7f0de9fc79
      
https://github.com/WebKit/WebKit/commit/c4264e1b1836110efffc4cabc2ed5d7f0de9fc79
  Author: Claudio Saavedra <[email protected]>
  Date:   2026-08-19 (Wed, 19 Aug 2026)

  Changed paths:
    M LayoutTests/platform/glib/TestExpectations
    M LayoutTests/platform/gtk/TestExpectations
    A 
LayoutTests/platform/gtk/fast/events/touch/basic-single-touch-events-expected.txt
    M LayoutTests/platform/wpe/TestExpectations
    M Source/WebKit/Shared/NativeWebTouchEvent.h
    M Source/WebKit/Shared/gtk/NativeWebTouchEventGtk.cpp
    M Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp
    M Source/WebKit/UIProcess/API/gtk/WebKitWebViewBaseInternal.h
    M Tools/WebKitTestRunner/EventSenderProxy.h
    M Tools/WebKitTestRunner/gtk/EventSenderProxyGtk.cpp

  Log Message:
  -----------
  [GTK] Implement touch event synthesis in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=319580

Reviewed by Nikolas Zimmermann and Carlos Garcia Campos.

The GTK EventSenderProxy touch methods were empty stubs, so
eventSender.addTouchPoint(), touchStart() and friends dispatched nothing
and the fast/events/touch tests timed out. Unlike mouse, key and wheel
events, WebKitWebViewBase had no touch synthesis entry point, and the
existing touch path is built around GdkEvent, which cannot be constructed
by application code under GTK4. Add webkitWebViewBaseSynthesizeTouchEvent(),
which builds the WebPlatformTouchPoint list and dispatches a
NativeWebTouchEvent directly, the same way the mouse path already bypasses
GdkEvent; the GTK EventSenderProxy keeps the touch point state and maps it
onto that entry point.

Update the touch event test expectations for the tests that now pass, were
unskipped, or changed to a deterministic failure, and add a GTK baseline
for basic-single-touch-events.html (touch point radius is unsupported, as
on WPE, but the touch modifiers are applied).

Covered by fast/events/touch tests.

* LayoutTests/platform/glib/TestExpectations:
* LayoutTests/platform/gtk/TestExpectations:
* 
LayoutTests/platform/gtk/fast/events/touch/basic-single-touch-events-expected.txt:
 Added.
* LayoutTests/platform/wpe/TestExpectations:
* Source/WebKit/Shared/NativeWebTouchEvent.h:
* Source/WebKit/Shared/gtk/NativeWebTouchEventGtk.cpp:
(WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
(WebKit::m_nativeEvent):
* Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp:
(toWebPlatformTouchPointState):
(webkitWebViewBaseSynthesizeTouchEvent):
* Source/WebKit/UIProcess/API/gtk/WebKitWebViewBaseInternal.h:
* Tools/WebKitTestRunner/EventSenderProxy.h:
* Tools/WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::toSyntheticTouchPointState):
(WTR::EventSenderProxy::addTouchPoint):
(WTR::EventSenderProxy::updateTouchPoint):
(WTR::sendTouchEvent):
(WTR::markAllTouchPointsStationary):
(WTR::EventSenderProxy::touchStart):
(WTR::EventSenderProxy::touchMove):
(WTR::EventSenderProxy::touchEnd):
(WTR::EventSenderProxy::touchCancel):
(WTR::EventSenderProxy::clearTouchPoints):
(WTR::EventSenderProxy::releaseTouchPoint):
(WTR::EventSenderProxy::cancelTouchPoint):
(WTR::EventSenderProxy::setTouchModifier):

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



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

Reply via email to