Title: [289785] trunk/Source/WebKit
Revision
289785
Author
timothy_hor...@apple.com
Date
2022-02-14 17:34:04 -0800 (Mon, 14 Feb 2022)

Log Message

Direct touches don't trigger other gesture recognizers if WKMouseGestureRecognizer sees them first
https://bugs.webkit.org/show_bug.cgi?id=236617

Reviewed by Wenson Hsieh.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView gestureRecognizer:shouldReceiveTouch:]):
WKMouseGestureRecognizer should only completely steal touches of type
UITouchTypeIndirectPointer. Other touch types (e.g. synthetic direct touches)
still need to trigger other WKContentViewInteraction gesture recognizers
(like long-press and double-tap) despite WKMouseGestureRecognizer
seeing their touches. So, check the touch type before early-returning.

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (289784 => 289785)


--- trunk/Source/WebKit/ChangeLog	2022-02-15 01:05:05 UTC (rev 289784)
+++ trunk/Source/WebKit/ChangeLog	2022-02-15 01:34:04 UTC (rev 289785)
@@ -1,3 +1,18 @@
+2022-02-14  Tim Horton  <timothy_hor...@apple.com>
+
+        Direct touches don't trigger other gesture recognizers if WKMouseGestureRecognizer sees them first
+        https://bugs.webkit.org/show_bug.cgi?id=236617
+
+        Reviewed by Wenson Hsieh.
+
+        * UIProcess/ios/WKContentViewInteraction.mm:
+        (-[WKContentView gestureRecognizer:shouldReceiveTouch:]):
+        WKMouseGestureRecognizer should only completely steal touches of type
+        UITouchTypeIndirectPointer. Other touch types (e.g. synthetic direct touches)
+        still need to trigger other WKContentViewInteraction gesture recognizers
+        (like long-press and double-tap) despite WKMouseGestureRecognizer
+        seeing their touches. So, check the touch type before early-returning.
+
 2022-02-14  Said Abou-Hallawa  <s...@apple.com>
 
         [GPU Process] RemoteImageBufferProxy should not sink itself to an Image or a NativeImage though its backend

Modified: trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm (289784 => 289785)


--- trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm	2022-02-15 01:05:05 UTC (rev 289784)
+++ trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm	2022-02-15 01:34:04 UTC (rev 289785)
@@ -1845,7 +1845,7 @@
 #endif
 
 #if HAVE(UIKIT_WITH_MOUSE_SUPPORT)
-    if (gestureRecognizer != _mouseGestureRecognizer && [_mouseGestureRecognizer mouseTouch] == touch)
+    if (gestureRecognizer != _mouseGestureRecognizer && [_mouseGestureRecognizer mouseTouch] == touch && touch.type == UITouchTypeIndirectPointer)
         return NO;
     
     if (gestureRecognizer != _alternateMouseGestureRecognizer && [_alternateMouseGestureRecognizer mouseTouch] == touch)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to