Title: [188053] trunk/Source/WebKit2
- Revision
- 188053
- Author
- enr...@apple.com
- Date
- 2015-08-06 13:14:58 -0700 (Thu, 06 Aug 2015)
Log Message
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]):
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (188052 => 188053)
--- trunk/Source/WebKit2/ChangeLog 2015-08-06 19:48:29 UTC (rev 188052)
+++ trunk/Source/WebKit2/ChangeLog 2015-08-06 20:14:58 UTC (rev 188053)
@@ -1,3 +1,23 @@
+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 Matt Rajca <mra...@apple.com>
Media Session: rename isFocusedContentMediaElementPaused and get rid of callback
Modified: trunk/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.h (188052 => 188053)
--- trunk/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.h 2015-08-06 19:48:29 UTC (rev 188052)
+++ trunk/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.h 2015-08-06 20:14:58 UTC (rev 188053)
@@ -117,6 +117,7 @@
RetainPtr<WKFormInputSession> _formInputSession;
RetainPtr<WKFileUploadPanel> _fileUploadPanel;
RetainPtr<UIGestureRecognizer> _previewGestureRecognizer;
+ RetainPtr<UIGestureRecognizer> _previewSecondaryGestureRecognizer;
#if HAVE(LINK_PREVIEW)
RetainPtr<UIPreviewItemController> _previewItemController;
#endif
Modified: trunk/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm (188052 => 188053)
--- trunk/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm 2015-08-06 19:48:29 UTC (rev 188052)
+++ trunk/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm 2015-08-06 20:14:58 UTC (rev 188053)
@@ -412,7 +412,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()];
}
@@ -422,7 +421,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()];
}
@@ -873,6 +871,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;
@@ -1073,21 +1074,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
@@ -3217,12 +3222,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