Title: [243047] trunk/Source/WebKit
Revision
243047
Author
d...@apple.com
Date
2019-03-16 15:03:33 -0700 (Sat, 16 Mar 2019)

Log Message

ASSERT(gestureRecognizer == _doubleTapGestureRecognizer) in _doubleTapDidFail:
https://bugs.webkit.org/show_bug.cgi?id=195857
<rdar://problem/48954679>

Reviewed by Wenson Hsieh.

Reset an existing gesture recognizer before creating a new one.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _createAndConfigureDoubleTapGestureRecognizer]):
(-[WKContentView _setDoubleTapGesturesEnabled:]):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (243046 => 243047)


--- trunk/Source/WebKit/ChangeLog	2019-03-16 22:00:51 UTC (rev 243046)
+++ trunk/Source/WebKit/ChangeLog	2019-03-16 22:03:33 UTC (rev 243047)
@@ -1,3 +1,17 @@
+2019-03-16  Dean Jackson  <d...@apple.com>
+
+        ASSERT(gestureRecognizer == _doubleTapGestureRecognizer) in _doubleTapDidFail:
+        https://bugs.webkit.org/show_bug.cgi?id=195857
+        <rdar://problem/48954679>
+
+        Reviewed by Wenson Hsieh.
+
+        Reset an existing gesture recognizer before creating a new one.
+
+        * UIProcess/ios/WKContentViewInteraction.mm:
+        (-[WKContentView _createAndConfigureDoubleTapGestureRecognizer]):
+        (-[WKContentView _setDoubleTapGesturesEnabled:]):
+
 2019-03-16  Jer Noble  <jer.no...@apple.com>
 
         Add a new MediaCapabilitiesExtensionsEnabled setting

Modified: trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm (243046 => 243047)


--- trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm	2019-03-16 22:00:51 UTC (rev 243046)
+++ trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm	2019-03-16 22:03:33 UTC (rev 243047)
@@ -646,6 +646,12 @@
 
 - (void)_createAndConfigureDoubleTapGestureRecognizer
 {
+    if (_doubleTapGestureRecognizer) {
+        [self removeGestureRecognizer:_doubleTapGestureRecognizer.get()];
+        [_doubleTapGestureRecognizer setDelegate:nil];
+        [_doubleTapGestureRecognizer setGestureFailedTarget:nil action:nil];
+    }
+
     _doubleTapGestureRecognizer = adoptNS([[WKSyntheticTapGestureRecognizer alloc] initWithTarget:self action:@selector(_doubleTapRecognized:)]);
     [_doubleTapGestureRecognizer setGestureFailedTarget:self action:@selector(_doubleTapDidFail:)];
     [_doubleTapGestureRecognizer setNumberOfTapsRequired:2];
@@ -3735,8 +3741,6 @@
     if (enabled && ![_doubleTapGestureRecognizer isEnabled]) {
         // The first tap recognized after re-enabling double tap gestures will not wait for the
         // second tap before committing. To fix this, we use a new double tap gesture recognizer.
-        [self removeGestureRecognizer:_doubleTapGestureRecognizer.get()];
-        [_doubleTapGestureRecognizer setDelegate:nil];
         [self _createAndConfigureDoubleTapGestureRecognizer];
     }
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to