Title: [188054] branches/safari-601.1.46-branch/Source/WebKit2

Diff

Modified: branches/safari-601.1.46-branch/Source/WebKit2/ChangeLog (188053 => 188054)


--- branches/safari-601.1.46-branch/Source/WebKit2/ChangeLog	2015-08-06 20:14:58 UTC (rev 188053)
+++ branches/safari-601.1.46-branch/Source/WebKit2/ChangeLog	2015-08-06 20:33:15 UTC (rev 188054)
@@ -1,5 +1,29 @@
 2015-08-06  Babak Shafiei  <bshaf...@apple.com>
 
+        Merge r188053.
+
+    2015-08-06  Enrica Casucci  <enr...@apple.com>
+
+            Allow long press to cancel link preview.
+            https://bugs.webkit.org/show_bug.cgi?id=147743
+            rdar://problem/22128839
+
+            Reviewed by Tim Horton.
+
+            We should be able to show the context menu at the beginnig of link preview.
+
+            * UIProcess/ios/WKContentViewInteraction.h:
+            * UIProcess/ios/WKContentViewInteraction.mm:
+            (-[WKContentView _removeDefaultGestureRecognizers]):
+            (-[WKContentView _addDefaultGestureRecognizers]):
+            (-[WKContentView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]):
+            (-[WKContentView _longPressRecognized:]):
+            (-[WKContentView _singleTapRecognized:]):
+            (-[WKContentView _registerPreview]):
+            (-[WKContentView _unregisterPreview]):
+
+2015-08-06  Babak Shafiei  <bshaf...@apple.com>
+
         Merge r186849.
 
     2015-07-14  Enrica Casucci  <enr...@apple.com>

Modified: branches/safari-601.1.46-branch/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.h (188053 => 188054)


--- branches/safari-601.1.46-branch/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.h	2015-08-06 20:14:58 UTC (rev 188053)
+++ branches/safari-601.1.46-branch/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.h	2015-08-06 20:33:15 UTC (rev 188054)
@@ -121,6 +121,7 @@
     RetainPtr<WKFormInputSession> _formInputSession;
     RetainPtr<WKFileUploadPanel> _fileUploadPanel;
     RetainPtr<UIGestureRecognizer> _previewGestureRecognizer;
+    RetainPtr<UIGestureRecognizer> _previewSecondaryGestureRecognizer;
 #if HAVE(LINK_PREVIEW)
     RetainPtr<UIPreviewItemController> _previewItemController;
 #endif

Modified: branches/safari-601.1.46-branch/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm (188053 => 188054)


--- branches/safari-601.1.46-branch/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm	2015-08-06 20:14:58 UTC (rev 188053)
+++ branches/safari-601.1.46-branch/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm	2015-08-06 20:33:15 UTC (rev 188054)
@@ -416,7 +416,6 @@
     [self removeGestureRecognizer:_touchEventGestureRecognizer.get()];
     [self removeGestureRecognizer:_singleTapGestureRecognizer.get()];
     [self removeGestureRecognizer:_highlightLongPressGestureRecognizer.get()];
-    [self removeGestureRecognizer:_longPressGestureRecognizer.get()];
     [self removeGestureRecognizer:_doubleTapGestureRecognizer.get()];
     [self removeGestureRecognizer:_twoFingerDoubleTapGestureRecognizer.get()];
 }
@@ -426,7 +425,6 @@
     [self addGestureRecognizer:_touchEventGestureRecognizer.get()];
     [self addGestureRecognizer:_singleTapGestureRecognizer.get()];
     [self addGestureRecognizer:_highlightLongPressGestureRecognizer.get()];
-    [self addGestureRecognizer:_longPressGestureRecognizer.get()];
     [self addGestureRecognizer:_doubleTapGestureRecognizer.get()];
     [self addGestureRecognizer:_twoFingerDoubleTapGestureRecognizer.get()];
 }
@@ -876,6 +874,9 @@
     if (isSamePair(gestureRecognizer, otherGestureRecognizer, _singleTapGestureRecognizer.get(), _textSelectionAssistant.get().singleTapGesture))
         return YES;
 
+    if (isSamePair(gestureRecognizer, otherGestureRecognizer, _highlightLongPressGestureRecognizer.get(), _previewSecondaryGestureRecognizer.get()))
+        return YES;
+
     if (isSamePair(gestureRecognizer, otherGestureRecognizer, _highlightLongPressGestureRecognizer.get(), _previewGestureRecognizer.get()))
         return YES;
 
@@ -1076,21 +1077,25 @@
 {
     ASSERT(gestureRecognizer == _longPressGestureRecognizer);
 
-#if HAVE(LINK_PREVIEW)
-    if ([_previewItemController interactionInProgress])
-        return;
-#endif
-
     _lastInteractionLocation = gestureRecognizer.startPoint;
 
-    if ([gestureRecognizer state] == UIGestureRecognizerStateBegan) {
+    switch ([gestureRecognizer state]) {
+    case UIGestureRecognizerStateBegan:
+    {
         SEL action = "" _actionForLongPress];
         if (action) {
             [self performSelector:action];
             [self _cancelLongPressGestureRecognizer];
-            [UIApp _cancelAllTouches];
         }
     }
+        break;
+    case UIGestureRecognizerStateCancelled:
+    case UIGestureRecognizerStateEnded:
+        [_actionSheetAssistant cleanupSheet];
+        break;
+    default:
+        break;
+    }
 }
 
 - (void)_singleTapRecognized:(UITapGestureRecognizer *)gestureRecognizer
@@ -3216,12 +3221,14 @@
     _previewItemController = adoptNS([[UIPreviewItemController alloc] initWithView:self]);
     [_previewItemController setDelegate:self];
     _previewGestureRecognizer = _previewItemController.get().presentationGestureRecognizer;
+    _previewSecondaryGestureRecognizer = _previewItemController.get().presentationSecondaryGestureRecognizer;
 }
 
 - (void)_unregisterPreview
 {
     [_previewItemController setDelegate:nil];
     _previewGestureRecognizer = nil;
+    _previewSecondaryGestureRecognizer = nil;
     _previewItemController = nil;
 }
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to