Title: [246342] trunk/Source/WebKit
Revision
246342
Author
[email protected]
Date
2019-06-11 17:24:09 -0700 (Tue, 11 Jun 2019)

Log Message

Integrate scrollbar gestures for iOS
https://bugs.webkit.org/show_bug.cgi?id=198767

Reviewed by Tim Horton.

* UIProcess/ios/WKContentViewInteraction.mm:
(_WKGestureRecognizerIsBuiltInScrollViewGestureRecognizer):
(-[WKContentView gestureRecognizer:canPreventGestureRecognizer:]):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (246341 => 246342)


--- trunk/Source/WebKit/ChangeLog	2019-06-11 23:55:18 UTC (rev 246341)
+++ trunk/Source/WebKit/ChangeLog	2019-06-12 00:24:09 UTC (rev 246342)
@@ -1,3 +1,14 @@
+2019-06-11  Megan Gardner  <[email protected]>
+
+        Integrate scrollbar gestures for iOS
+        https://bugs.webkit.org/show_bug.cgi?id=198767
+
+        Reviewed by Tim Horton.
+
+        * UIProcess/ios/WKContentViewInteraction.mm:
+        (_WKGestureRecognizerIsBuiltInScrollViewGestureRecognizer):
+        (-[WKContentView gestureRecognizer:canPreventGestureRecognizer:]):
+
 2019-06-11  Timothy Hatcher  <[email protected]>
 
         Scrollbar can show as white on white in dark mode on iOS.

Modified: trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm (246341 => 246342)


--- trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm	2019-06-11 23:55:18 UTC (rev 246341)
+++ trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm	2019-06-12 00:24:09 UTC (rev 246342)
@@ -1763,9 +1763,13 @@
     return _page->editorState().postLayoutData().focusedElementRect;
 }
 
-#if USE(APPLE_INTERNAL_SDK) && __has_include(<WebKitAdditions/WKContentViewInteractionWKInteraction.mm>)
-#include <WebKitAdditions/WKContentViewInteractionWKInteraction.mm>
-#else
+static BOOL isBuiltInScrollViewGestureRecognizer(UIGestureRecognizer *recognizer)
+{
+    return ([recognizer isKindOfClass:NSClassFromString(@"UIScrollViewPanGestureRecognizer")]
+        || [recognizer isKindOfClass:NSClassFromString(@"UIScrollViewPinchGestureRecognizer")]
+        || [recognizer isKindOfClass:NSClassFromString(@"UIScrollViewKnobLongPressGestureRecognizer")]
+        );
+}
 
 - (BOOL)gestureRecognizer:(UIGestureRecognizer *)preventingGestureRecognizer canPreventGestureRecognizer:(UIGestureRecognizer *)preventedGestureRecognizer
 {
@@ -1772,12 +1776,10 @@
     // A long-press gesture can not be recognized while panning, but a pan can be recognized
     // during a long-press gesture.
     BOOL shouldNotPreventScrollViewGestures = preventingGestureRecognizer == _highlightLongPressGestureRecognizer || preventingGestureRecognizer == _longPressGestureRecognizer;
-    return !(shouldNotPreventScrollViewGestures
-        && ([preventedGestureRecognizer isKindOfClass:NSClassFromString(@"UIScrollViewPanGestureRecognizer")] || [preventedGestureRecognizer isKindOfClass:NSClassFromString(@"UIScrollViewPinchGestureRecognizer")]));
+    
+    return !(shouldNotPreventScrollViewGestures && isBuiltInScrollViewGestureRecognizer(preventedGestureRecognizer));
 }
 
-#endif
-
 - (BOOL)gestureRecognizer:(UIGestureRecognizer *)preventedGestureRecognizer canBePreventedByGestureRecognizer:(UIGestureRecognizer *)preventingGestureRecognizer {
     // Don't allow the highlight to be prevented by a selection gesture. Press-and-hold on a link should highlight the link, not select it.
     bool isForcePressGesture = NO;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to