Title: [277820] trunk/Source/WebKit
Revision
277820
Author
timothy_hor...@apple.com
Date
2021-05-20 12:59:33 -0700 (Thu, 20 May 2021)

Log Message

Move off UIKit IPI in WKMouseGestureRecognizer
https://bugs.webkit.org/show_bug.cgi?id=226030
rdar://78266173

Reviewed by Devin Rousso and Wenson Hsieh.

Use UIGestureRecognizerDelegate instead of IPI.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView gestureRecognizer:shouldReceiveTouch:]):
(-[WKContentView gestureRecognizer:shouldReceivePress:]):
* UIProcess/ios/WKMouseGestureRecognizer.mm:
(-[WKMouseGestureRecognizer _shouldReceiveTouch:forEvent:recognizerView:]): Deleted.
(-[WKMouseGestureRecognizer _shouldReceivePress:]): Deleted.

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (277819 => 277820)


--- trunk/Source/WebKit/ChangeLog	2021-05-20 19:51:50 UTC (rev 277819)
+++ trunk/Source/WebKit/ChangeLog	2021-05-20 19:59:33 UTC (rev 277820)
@@ -1,3 +1,20 @@
+2021-05-20  Tim Horton  <timothy_hor...@apple.com>
+
+        Move off UIKit IPI in WKMouseGestureRecognizer
+        https://bugs.webkit.org/show_bug.cgi?id=226030
+        rdar://78266173
+
+        Reviewed by Devin Rousso and Wenson Hsieh.
+
+        Use UIGestureRecognizerDelegate instead of IPI.
+
+        * UIProcess/ios/WKContentViewInteraction.mm:
+        (-[WKContentView gestureRecognizer:shouldReceiveTouch:]):
+        (-[WKContentView gestureRecognizer:shouldReceivePress:]):
+        * UIProcess/ios/WKMouseGestureRecognizer.mm:
+        (-[WKMouseGestureRecognizer _shouldReceiveTouch:forEvent:recognizerView:]): Deleted.
+        (-[WKMouseGestureRecognizer _shouldReceivePress:]): Deleted.
+
 2021-05-20  Chris Dumez  <cdu...@apple.com>
 
         Use CheckedLock more in IPC::Connection

Modified: trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm (277819 => 277820)


--- trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm	2021-05-20 19:51:50 UTC (rev 277819)
+++ trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm	2021-05-20 19:59:33 UTC (rev 277820)
@@ -1659,6 +1659,9 @@
     if (gestureRecognizer != _mouseGestureRecognizer && [_mouseGestureRecognizer mouseTouch] == touch)
         return NO;
 
+    if (gestureRecognizer == _mouseGestureRecognizer)
+        return [_mouseGestureRecognizer mouseTouch] == touch;
+
     if (gestureRecognizer == _doubleTapGestureRecognizer || gestureRecognizer == _nonBlockingDoubleTapGestureRecognizer)
         return touch.type != UITouchTypeIndirectPointer;
 #endif
@@ -1679,6 +1682,15 @@
     return YES;
 }
 
+- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceivePress:(UIPress *)press
+{
+#if HAVE(UIKIT_WITH_MOUSE_SUPPORT)
+    if (gestureRecognizer == _mouseGestureRecognizer)
+        return NO;
+#endif
+    return YES;
+}
+
 #pragma mark - WKTouchActionGestureRecognizerDelegate implementation
 
 - (BOOL)gestureRecognizerMayPanWebView:(UIGestureRecognizer *)gestureRecognizer

Modified: trunk/Source/WebKit/UIProcess/ios/WKMouseGestureRecognizer.mm (277819 => 277820)


--- trunk/Source/WebKit/UIProcess/ios/WKMouseGestureRecognizer.mm	2021-05-20 19:51:50 UTC (rev 277819)
+++ trunk/Source/WebKit/UIProcess/ios/WKMouseGestureRecognizer.mm	2021-05-20 19:59:33 UTC (rev 277820)
@@ -109,16 +109,6 @@
     _currentTouch = nil;
 }
 
-- (BOOL)_shouldReceiveTouch:(UITouch *)touch forEvent:(UIEvent *)event recognizerView:(UIView *)recognizerView
-{
-    return touch == _currentTouch;
-}
-
-- (BOOL)_shouldReceivePress:(UIPress *)press
-{
-    return NO;
-}
-
 - (std::unique_ptr<WebKit::NativeWebMouseEvent>)createMouseEventWithType:(WebKit::WebEvent::Type)type wasCancelled:(BOOL)cancelled
 {
     auto modifiers = webEventModifiersForUIKeyModifierFlags(self.modifierFlags);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to