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