Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 59d076ef61e6fe776685d06bc408976bae040e8e
      
https://github.com/WebKit/WebKit/commit/59d076ef61e6fe776685d06bc408976bae040e8e
  Author: Abrar Rahman Protyasha <[email protected]>
  Date:   2026-08-15 (Sat, 15 Aug 2026)

  Changed paths:
    M Source/WebKit/Platform/spi/mac/AppKitSPI.h
    M Source/WebKit/Shared/NativeWebGestureEvent.h
    M Source/WebKit/Shared/mac/NativeWebGestureEventMac.mm
    M Source/WebKit/UIProcess/mac/AppKitGestures/WKAppKitGestureController.mm
    M Source/WebKit/UIProcess/mac/WebViewImpl.mm
    M Tools/TestWebKitAPI/Tests/WebKit/WebPage/AppKit Gesture 
Tests/BasicAppKitGesturesTests.swift

  Log Message:
  -----------
  [AppKit Gestures] Refactor gesture event handling to support gesture 
recognizers
https://bugs.webkit.org/show_bug.cgi?id=321784
rdar://184904955

Reviewed by Richard Robinson.

This patch adds infrastructure to support DOM gesture events
using
gesture recognizers, complementing the existing NSResponder machinery.

To facilitate this change, we build on existing changes to WebKit's
representation of native gesture events (318771@main, 318693@main). We
gate this behavior change behind the UseAppKitGesturesForGestureEvents
preference, added in 319130@main. The actual event dispatch plumbing is
more or less the same shape as seen in the WebViewImpl namesakes.

Test coverage will be added in a forthcoming patch.

* Source/WebKit/Platform/spi/mac/AppKitSPI.h:
* Source/WebKit/Shared/NativeWebGestureEvent.h:
* Source/WebKit/Shared/mac/NativeWebGestureEventMac.mm:
* Source/WebKit/UIProcess/mac/AppKitGestures/WKAppKitGestureController.mm:
(toWebEventPhase):
(-[WKAppKitGestureController setUpGestureRecognizers]):
(-[WKAppKitGestureController setUpMagnificationGestureRecognizer]):
(-[WKAppKitGestureController setUpRotationGestureRecognizer]):
(-[WKAppKitGestureController
addGesturesToWebView]):
(-[WKAppKitGestureController enableGesturesIfNeeded]):
(-[WKAppKitGestureController ensureGesturesAreNotArchived]):
(-[WKAppKitGestureController enableGestureIfNeeded:]):
(-[WKAppKitGestureController sendWheelEventForGesture:]):
(-[WKAppKitGestureController _resetCaughtDeceleratingScroll]):
(-[WKAppKitGestureController currentMagnification:atPhase:]):
(-[WKAppKitGestureController currentRotation:atPhase:]):
(-[WKAppKitGestureController magnificationGestureRecognized:]):
(-[WKAppKitGestureController rotationGestureRecognized:]):
(isBuiltInScrollViewPanGestureRecognizer):
(-[WKAppKitGestureController 
gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]):
(-[WKAppKitGestureController gestureRecognizerShouldBegin:]):
(-[WKAppKitGestureController _isSomeManipulationGestureRecognizer:]):
(-[WKAppKitGestureController _gestureRecognizer:canPreventGestureRecognizer:]):
(toWheelEventPhase): Deleted.
(-[WKAppKitGestureController
_isScrollOrZoomGestureRecognizer:]): Deleted.
* Source/WebKit/UIProcess/mac/WebViewImpl.mm:
(WebKit::WebViewImpl::gestureEventWasNotHandledByWebCore):
* Tools/TestWebKitAPI/Tests/WebKit/WebPage/AppKit Gesture 
Tests/BasicAppKitGesturesTests.swift:

Canonical link: 
https://flagged.apple.com:443/proxy?t2=DZ7G6d8kG8&o=aHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvMzE5MjI0QG1haW4=&emid=6c2220dc-1292-4e13-b8a8-2853baea9717&c=11



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

Reply via email to