Changeset 244762 in webkit
- Timestamp:
- Apr 29, 2019, 4:55:51 PM (7 years ago)
- Location:
- trunk
- Files:
-
- 6 deleted
- 12 edited
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/fast/events/touch/ios/double-tap-for-double-click1-expected.txt (deleted)
-
LayoutTests/fast/events/touch/ios/double-tap-for-double-click1.html (deleted)
-
LayoutTests/fast/events/touch/ios/double-tap-for-double-click2-expected.txt (deleted)
-
LayoutTests/fast/events/touch/ios/double-tap-for-double-click2.html (deleted)
-
LayoutTests/fast/events/touch/ios/double-tap-for-double-click3-expected.txt (deleted)
-
LayoutTests/fast/events/touch/ios/double-tap-for-double-click3.html (deleted)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/page/Frame.h (modified) (1 diff)
-
Source/WebCore/page/ios/FrameIOS.mm (modified) (1 diff)
-
Source/WebKit/ChangeLog (modified) (1 diff)
-
Source/WebKit/UIProcess/WebPageProxy.h (modified) (1 diff)
-
Source/WebKit/UIProcess/ios/WKContentViewInteraction.h (modified) (1 diff)
-
Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm (modified) (7 diffs)
-
Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm (modified) (1 diff)
-
Source/WebKit/WebProcess/WebPage/WebPage.h (modified) (1 diff)
-
Source/WebKit/WebProcess/WebPage/WebPage.messages.in (modified) (1 diff)
-
Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r244755 r244762 1 2019-04-29 Truitt Savell <tsavell@apple.com> 2 3 Unreviewed, rolling out r244755. 4 5 Casued several test failures on iOS 6 7 Reverted changeset: 8 9 "Double-tapping a post to like doesn't work on Instagram.com 10 (needs 'dblclick' event)" 11 https://bugs.webkit.org/show_bug.cgi?id=197347 12 https://trac.webkit.org/changeset/244755 13 1 14 2019-04-29 Zalan Bujtas <zalan@apple.com> 2 15 -
trunk/Source/WebCore/ChangeLog
r244756 r244762 1 2019-04-29 Truitt Savell <tsavell@apple.com> 2 3 Unreviewed, rolling out r244755. 4 5 Casued several test failures on iOS 6 7 Reverted changeset: 8 9 "Double-tapping a post to like doesn't work on Instagram.com 10 (needs 'dblclick' event)" 11 https://bugs.webkit.org/show_bug.cgi?id=197347 12 https://trac.webkit.org/changeset/244755 13 1 14 2019-04-29 Alex Christensen <achristensen@webkit.org> 2 15 -
trunk/Source/WebCore/page/Frame.h
r244755 r244762 220 220 WEBCORE_EXPORT Node* deepestNodeAtLocation(const FloatPoint& viewportLocation); 221 221 WEBCORE_EXPORT Node* nodeRespondingToClickEvents(const FloatPoint& viewportLocation, FloatPoint& adjustedViewportLocation, SecurityOrigin* = nullptr); 222 WEBCORE_EXPORT Node* nodeRespondingToDoubleClickEvent(const FloatPoint& viewportLocation, FloatPoint& adjustedViewportLocation);223 222 WEBCORE_EXPORT Node* nodeRespondingToScrollWheelEvents(const FloatPoint& viewportLocation); 224 223 -
trunk/Source/WebCore/page/ios/FrameIOS.mm
r244755 r244762 419 419 } 420 420 421 Node* Frame::nodeRespondingToDoubleClickEvent(const FloatPoint& viewportLocation, FloatPoint& adjustedViewportLocation)422 {423 auto&& ancestorRespondingToDoubleClickEvent = [](const HitTestResult& hitTestResult, Node* terminationNode, IntRect* nodeBounds) -> Node* {424 if (nodeBounds)425 *nodeBounds = IntRect();426 427 auto* node = hitTestResult.innerNode();428 if (!node)429 return nullptr;430 431 for (; node && node != terminationNode; node = node->parentInComposedTree()) {432 if (!node->hasEventListeners(eventNames().dblclickEvent))433 continue;434 #if ENABLE(TOUCH_EVENTS)435 if (!node->allowsDoubleTapGesture())436 continue;437 #endif438 if (nodeBounds && node->renderer())439 *nodeBounds = node->renderer()->absoluteBoundingBoxRect(true);440 return node;441 }442 return nullptr;443 };444 445 return qualifyingNodeAtViewportLocation(viewportLocation, adjustedViewportLocation, WTFMove(ancestorRespondingToDoubleClickEvent), true);446 }447 448 421 Node* Frame::nodeRespondingToScrollWheelEvents(const FloatPoint& viewportLocation) 449 422 { -
trunk/Source/WebKit/ChangeLog
r244761 r244762 1 2019-04-29 Truitt Savell <tsavell@apple.com> 2 3 Unreviewed, rolling out r244755. 4 5 Casued several test failures on iOS 6 7 Reverted changeset: 8 9 "Double-tapping a post to like doesn't work on Instagram.com 10 (needs 'dblclick' event)" 11 https://bugs.webkit.org/show_bug.cgi?id=197347 12 https://trac.webkit.org/changeset/244755 13 1 14 2019-04-29 Chris Dumez <cdumez@apple.com> 2 15 -
trunk/Source/WebKit/UIProcess/WebPageProxy.h
r244755 r244762 1211 1211 void handleTap(const WebCore::FloatPoint&, OptionSet<WebKit::WebEvent::Modifier>, uint64_t layerTreeTransactionIdAtLastTouchStart); 1212 1212 void didRecognizeLongPress(); 1213 void handleDoubleTapForDoubleClickAtPoint(const WebCore::IntPoint&, OptionSet<WebEvent::Modifier>, uint64_t layerTreeTransactionIdAtLastTouchStart);1214 1213 1215 1214 void inspectorNodeSearchMovedToPosition(const WebCore::FloatPoint&); -
trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.h
r244755 r244762 222 222 RetainPtr<WKSyntheticTapGestureRecognizer> _doubleTapGestureRecognizer; 223 223 RetainPtr<UITapGestureRecognizer> _nonBlockingDoubleTapGestureRecognizer; 224 RetainPtr<UITapGestureRecognizer> _doubleTapGestureRecognizerForDoubleClick;225 224 RetainPtr<UITapGestureRecognizer> _twoFingerDoubleTapGestureRecognizer; 226 225 RetainPtr<UITapGestureRecognizer> _twoFingerSingleTapGestureRecognizer; -
trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
r244755 r244762 735 735 [self addGestureRecognizer:_nonBlockingDoubleTapGestureRecognizer.get()]; 736 736 737 _doubleTapGestureRecognizerForDoubleClick = adoptNS([[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(_doubleTapRecognizedForDoubleClick:)]);738 [_doubleTapGestureRecognizerForDoubleClick setNumberOfTapsRequired:2];739 [_doubleTapGestureRecognizerForDoubleClick setDelegate:self];740 [_doubleTapGestureRecognizerForDoubleClick setEnabled:YES];741 [self addGestureRecognizer:_doubleTapGestureRecognizerForDoubleClick.get()];742 743 737 [self _createAndConfigureDoubleTapGestureRecognizer]; 744 738 … … 874 868 [self removeGestureRecognizer:_nonBlockingDoubleTapGestureRecognizer.get()]; 875 869 876 [_doubleTapGestureRecognizerForDoubleClick setDelegate:nil];877 [self removeGestureRecognizer:_doubleTapGestureRecognizerForDoubleClick.get()];878 879 870 [_twoFingerDoubleTapGestureRecognizer setDelegate:nil]; 880 871 [self removeGestureRecognizer:_twoFingerDoubleTapGestureRecognizer.get()]; … … 950 941 [self removeGestureRecognizer:_doubleTapGestureRecognizer.get()]; 951 942 [self removeGestureRecognizer:_nonBlockingDoubleTapGestureRecognizer.get()]; 952 [self removeGestureRecognizer:_doubleTapGestureRecognizerForDoubleClick.get()];953 943 [self removeGestureRecognizer:_twoFingerDoubleTapGestureRecognizer.get()]; 954 944 [self removeGestureRecognizer:_twoFingerSingleTapGestureRecognizer.get()]; … … 967 957 [self addGestureRecognizer:_doubleTapGestureRecognizer.get()]; 968 958 [self addGestureRecognizer:_nonBlockingDoubleTapGestureRecognizer.get()]; 969 [self addGestureRecognizer:_doubleTapGestureRecognizerForDoubleClick.get()];970 959 [self addGestureRecognizer:_twoFingerDoubleTapGestureRecognizer.get()]; 971 960 [self addGestureRecognizer:_twoFingerSingleTapGestureRecognizer.get()]; … … 1791 1780 return YES; 1792 1781 1793 if (isSamePair(gestureRecognizer, otherGestureRecognizer, _nonBlockingDoubleTapGestureRecognizer.get(), _doubleTapGestureRecognizerForDoubleClick.get()))1794 return YES;1795 1796 if (isSamePair(gestureRecognizer, otherGestureRecognizer, _doubleTapGestureRecognizer.get(), _doubleTapGestureRecognizerForDoubleClick.get()))1797 return YES;1798 1799 1782 if (isSamePair(gestureRecognizer, otherGestureRecognizer, _highlightLongPressGestureRecognizer.get(), _previewSecondaryGestureRecognizer.get())) 1800 1783 return YES; … … 1993 1976 || gestureRecognizer == _doubleTapGestureRecognizer 1994 1977 || gestureRecognizer == _nonBlockingDoubleTapGestureRecognizer 1995 || gestureRecognizer == _doubleTapGestureRecognizerForDoubleClick1996 1978 || gestureRecognizer == _twoFingerDoubleTapGestureRecognizer) { 1997 1979 … … 2394 2376 _lastInteractionLocation = gestureRecognizer.location; 2395 2377 _isDoubleTapPending = YES; 2396 }2397 2398 - (void)_doubleTapRecognizedForDoubleClick:(UITapGestureRecognizer *)gestureRecognizer2399 {2400 _page->handleDoubleTapForDoubleClickAtPoint(WebCore::IntPoint(gestureRecognizer.location), WebKit::webEventModifierFlags(gestureRecognizerModifierFlags(gestureRecognizer)), _layerTreeTransactionIdAtLastTouchStart);2401 2378 } 2402 2379 -
trunk/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm
r244755 r244762 868 868 } 869 869 870 void WebPageProxy::handleDoubleTapForDoubleClickAtPoint(const WebCore::IntPoint& point, OptionSet<WebEvent::Modifier> modifiers, uint64_t layerTreeTransactionIdAtLastTouchStart)871 {872 process().send(Messages::WebPage::HandleDoubleTapForDoubleClickAtPoint(point, modifiers, layerTreeTransactionIdAtLastTouchStart), m_pageID);873 }874 875 870 void WebPageProxy::inspectorNodeSearchMovedToPosition(const WebCore::FloatPoint& position) 876 871 { -
trunk/Source/WebKit/WebProcess/WebPage/WebPage.h
r244755 r244762 623 623 void tapHighlightAtPosition(uint64_t requestID, const WebCore::FloatPoint&); 624 624 void didRecognizeLongPress(); 625 void handleDoubleTapForDoubleClickAtPoint(const WebCore::IntPoint&, OptionSet<WebKit::WebEvent::Modifier>, uint64_t lastLayerTreeTransactionId);626 625 627 626 void inspectorNodeSearchMovedToPosition(const WebCore::FloatPoint&); -
trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in
r244755 r244762 58 58 TapHighlightAtPosition(uint64_t requestID, WebCore::FloatPoint point) 59 59 DidRecognizeLongPress() 60 HandleDoubleTapForDoubleClickAtPoint(WebCore::IntPoint point, OptionSet<WebKit::WebEvent::Modifier> modifiers, uint64_t lastLayerTreeTransactionId)61 60 InspectorNodeSearchMovedToPosition(WebCore::FloatPoint point) 62 61 InspectorNodeSearchEndedAtPosition(WebCore::FloatPoint point) -
trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm
r244755 r244762 723 723 } 724 724 725 void WebPage::handleDoubleTapForDoubleClickAtPoint(const IntPoint& point, OptionSet<WebEvent::Modifier> modifiers, uint64_t lastLayerTreeTransactionId)726 {727 FloatPoint adjustedPoint;728 auto* nodeRespondingToDoubleClick = m_page->mainFrame().nodeRespondingToDoubleClickEvent(point, adjustedPoint);729 if (!nodeRespondingToDoubleClick)730 return;731 732 auto* frameRespondingToDoubleClick = nodeRespondingToDoubleClick->document().frame();733 if (!frameRespondingToDoubleClick || lastLayerTreeTransactionId < WebFrame::fromCoreFrame(*frameRespondingToDoubleClick)->firstLayerTreeTransactionIDAfterDidCommitLoad())734 return;735 736 bool shiftKey = modifiers.contains(WebEvent::Modifier::ShiftKey);737 bool ctrlKey = modifiers.contains(WebEvent::Modifier::ControlKey);738 bool altKey = modifiers.contains(WebEvent::Modifier::AltKey);739 bool metaKey = modifiers.contains(WebEvent::Modifier::MetaKey);740 auto roundedAdjustedPoint = roundedIntPoint(adjustedPoint);741 nodeRespondingToDoubleClick->document().frame()->eventHandler().handleMousePressEvent(PlatformMouseEvent(roundedAdjustedPoint, roundedAdjustedPoint, LeftButton, PlatformEvent::MousePressed, 2, shiftKey, ctrlKey, altKey, metaKey, WallTime::now(), 0, WebCore::NoTap));742 if (m_isClosed)743 return;744 nodeRespondingToDoubleClick->document().frame()->eventHandler().handleMouseReleaseEvent(PlatformMouseEvent(roundedAdjustedPoint, roundedAdjustedPoint, LeftButton, PlatformEvent::MouseReleased, 2, shiftKey, ctrlKey, altKey, metaKey, WallTime::now(), 0, WebCore::NoTap));745 }746 747 725 void WebPage::requestFocusedElementInformation(WebKit::CallbackID callbackID) 748 726 {
Note:
See TracChangeset
for help on using the changeset viewer.