Changeset 233546 in webkit
- Timestamp:
- Jul 5, 2018, 3:28:17 PM (8 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 3 edited
-
ChangeLog (modified) (1 diff)
-
UIProcess/ios/WKContentViewInteraction.h (modified) (3 diffs)
-
UIProcess/ios/WKContentViewInteraction.mm (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r233544 r233546 1 2018-07-05 Tim Horton <timothy_horton@apple.com> 2 3 Upstream hover gesture implementation 4 https://bugs.webkit.org/show_bug.cgi?id=187366 5 6 Reviewed by Wenson Hsieh. 7 8 * UIProcess/ios/WKContentViewInteraction.h: 9 * UIProcess/ios/WKContentViewInteraction.mm: 10 (-[WKContentView setupInteraction]): 11 (-[WKContentView cleanupInteraction]): 12 (-[WKContentView _removeDefaultGestureRecognizers]): 13 (-[WKContentView _addDefaultGestureRecognizers]): 14 (-[WKContentView _hoverGestureRecognizerChanged:]): 15 1 16 2018-07-05 Tim Horton <timothy_horton@apple.com> 2 17 -
trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.h
r232968 r233546 78 78 } 79 79 80 @class _UIHighlightView; 81 @class _UIWebHighlightLongPressGestureRecognizer; 82 @class UIHoverGestureRecognizer; 83 @class WebEvent; 80 84 @class WKActionSheetAssistant; 85 @class WKFocusedFormControlView; 81 86 @class WKFormInputSession; 82 87 @class WKInspectorNodeSearchGestureRecognizer; 83 @class WebEvent;84 @class _UIHighlightView;85 @class _UIWebHighlightLongPressGestureRecognizer;86 87 #if USE(APPLE_INTERNAL_SDK)88 #import <WebKitAdditions/WKContentViewInteractionAdditionsBefore.h>89 #endif90 91 #if PLATFORM(WATCHOS)92 @class WKFocusedFormControlView;93 #endif94 88 95 89 typedef void (^UIWKAutocorrectionCompletionHandler)(UIWKAutocorrectionRects *rectsForInput); … … 152 146 BOOL _canSendTouchEventsAsynchronously; 153 147 154 #if USE(APPLE_INTERNAL_SDK)155 #import <WebKitAdditions/WKContentViewInteractionAdditionsAfter.h>156 #endif157 158 148 RetainPtr<WKSyntheticClickTapGestureRecognizer> _singleTapGestureRecognizer; 159 149 RetainPtr<_UIWebHighlightLongPressGestureRecognizer> _highlightLongPressGestureRecognizer; … … 164 154 RetainPtr<UITapGestureRecognizer> _twoFingerSingleTapGestureRecognizer; 165 155 RetainPtr<WKInspectorNodeSearchGestureRecognizer> _inspectorNodeSearchGestureRecognizer; 156 157 #if PLATFORM(IOSMAC) 158 RetainPtr<UIHoverGestureRecognizer> _hoverGestureRecognizer; 159 #endif 166 160 167 161 RetainPtr<UIWKTextInteractionAssistant> _textSelectionAssistant; -
trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
r233501 r233546 106 106 #endif 107 107 108 #if USE(APPLE_INTERNAL_SDK) 109 #import <WebKitAdditions/WKContentViewInteractionAdditionsBefore.mm> 108 #if PLATFORM(IOSMAC) 109 #import "NativeWebMouseEvent.h" 110 #import <UIKit/UIHoverGestureRecognizer.h> 111 #import <pal/spi/ios/GraphicsServicesSPI.h> 110 112 #endif 111 113 … … 618 620 [self addGestureRecognizer:_touchEventGestureRecognizer.get()]; 619 621 620 #if USE(APPLE_INTERNAL_SDK) 621 [self _internalSetupInteraction]; 622 #if PLATFORM(IOSMAC) 623 _hoverGestureRecognizer = adoptNS([[UIHoverGestureRecognizer alloc] initWithTarget:self action:@selector(_hoverGestureRecognizerChanged:)]); 624 [_hoverGestureRecognizer setDelegate:self]; 625 [self addGestureRecognizer:_hoverGestureRecognizer.get()]; 622 626 #endif 623 627 … … 712 716 [self removeGestureRecognizer:_touchEventGestureRecognizer.get()]; 713 717 714 #if USE(APPLE_INTERNAL_SDK) 715 [self _internalCleanupInteraction]; 718 #if PLATFORM(IOSMAC) 719 [_hoverGestureRecognizer setDelegate:nil]; 720 [self removeGestureRecognizer:_hoverGestureRecognizer.get()]; 716 721 #endif 717 722 … … 776 781 [self removeGestureRecognizer:_twoFingerDoubleTapGestureRecognizer.get()]; 777 782 [self removeGestureRecognizer:_twoFingerSingleTapGestureRecognizer.get()]; 778 779 #if USE(APPLE_INTERNAL_SDK) 780 [self _internalRemoveDefaultGestureRecognizers]; 783 #if PLATFORM(IOSMAC) 784 [self removeGestureRecognizer:_hoverGestureRecognizer.get()]; 781 785 #endif 782 786 } … … 791 795 [self addGestureRecognizer:_twoFingerDoubleTapGestureRecognizer.get()]; 792 796 [self addGestureRecognizer:_twoFingerSingleTapGestureRecognizer.get()]; 793 794 #if USE(APPLE_INTERNAL_SDK) 795 [self _internalAddDefaultGestureRecognizers]; 797 #if PLATFORM(IOSMAC) 798 [self addGestureRecognizer:_hoverGestureRecognizer.get()]; 796 799 #endif 797 800 } … … 5658 5661 #endif // PLATFORM(WATCHOS) 5659 5662 5660 #if USE(APPLE_INTERNAL_SDK) 5661 #import <WebKitAdditions/WKContentViewInteractionAdditionsAfter.mm> 5663 #if PLATFORM(IOSMAC) 5664 - (void)_hoverGestureRecognizerChanged:(UIGestureRecognizer *)gestureRecognizer 5665 { 5666 if (!_page->isValid()) 5667 return; 5668 5669 // Make a timestamp that matches UITouch and UIEvent. 5670 CFTimeInterval timestamp = GSCurrentEventTimestamp() / 1000000000.0; 5671 5672 CGPoint point; 5673 switch (gestureRecognizer.state) { 5674 case UIGestureRecognizerStateBegan: 5675 case UIGestureRecognizerStateChanged: 5676 point = [gestureRecognizer locationInView:self]; 5677 break; 5678 case UIGestureRecognizerStateEnded: 5679 case UIGestureRecognizerStateCancelled: 5680 default: 5681 point = CGPointMake(-1, -1); 5682 break; 5683 } 5684 5685 auto event = adoptNS([[::WebEvent alloc] initWithMouseEventType:WebEventMouseMoved timeStamp:timestamp location:point]); 5686 _page->handleMouseEvent(NativeWebMouseEvent(event.get())); 5687 } 5662 5688 #endif 5663 5689
Note:
See TracChangeset
for help on using the changeset viewer.