Changeset 187979 in webkit
- Timestamp:
- Aug 5, 2015 12:57:19 PM (9 years ago)
- Location:
- branches/safari-601.1.46-branch/Source/WebKit2
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/safari-601.1.46-branch/Source/WebKit2/ChangeLog
r187976 r187979 1 2015-08-05 Matthew Hanson <matthew_hanson@apple.com> 2 3 Merge r187764. rdar://problem/22077836 4 5 2015-08-03 Beth Dakin <bdakin@apple.com> 6 7 Need WKWebView API to enable/disable link preview 8 https://bugs.webkit.org/show_bug.cgi?id=147573 9 -and corresponding- 10 rdar://problem/22077836 11 12 Reviewed by Dan Bernstein. 13 14 WKView implementation. 15 * UIProcess/API/Cocoa/WKViewPrivate.h: 16 17 New API. Call into WKView to handle Mac. 18 * UIProcess/API/Cocoa/WKWebView.h: 19 * UIProcess/API/Cocoa/WKWebView.mm: 20 (-[WKWebView initWithFrame:configuration:]): 21 (-[WKWebView allowsLinkPreview]): 22 (-[WKWebView setAllowsLinkPreview:]): 23 24 Remove the SPI declaration from WKWebViewPrivate in order to make this API. 25 * UIProcess/API/Cocoa/WKWebViewPrivate.h: 26 27 Handle the Mac side. 28 * UIProcess/API/mac/WKView.mm: 29 (-[WKView viewDidMoveToWindow]): 30 (-[WKView initWithFrame:processPool:configuration:webView:]): 31 (-[WKView allowsBackForwardNavigationGestures]): 32 (-[WKView allowsLinkPreview]): 33 (-[WKView setAllowsLinkPreview:]): 34 35 Don’t register previews when link preview is prevented. 36 * UIProcess/ios/WKContentViewInteraction.mm: 37 (-[WKContentView _registerPreview]): 38 1 39 2015-08-05 Matthew Hanson <matthew_hanson@apple.com> 2 40 -
branches/safari-601.1.46-branch/Source/WebKit2/UIProcess/API/Cocoa/WKViewPrivate.h
r184780 r187979 130 130 - (void)setMagnification:(double)magnification centeredAtPoint:(NSPoint)point; 131 131 132 - (void)setAllowsLinkPreview:(BOOL)allowsLinkPreview; 133 - (BOOL)allowsLinkPreview; 134 132 135 - (void)saveBackForwardSnapshotForCurrentItem; 133 136 - (void)saveBackForwardSnapshotForItem:(WKBackForwardListItemRef)item; -
branches/safari-601.1.46-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.h
r185876 r187979 232 232 @property (WK_NULLABLE_PROPERTY nonatomic, copy) NSString *customUserAgent WK_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA); 233 233 234 /*! @abstract A Boolean value indicating whether link preview is allowed for any 235 links inside this WKWebView. 236 @discussion The default value is NO on iOS and YES on Mac. 237 */ 238 @property (nonatomic) BOOL allowsLinkPreview WK_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA); 239 234 240 #if TARGET_OS_IPHONE 235 241 /*! @abstract The scroll view associated with the web view. -
branches/safari-601.1.46-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm
r187390 r187979 352 352 353 353 _viewportMetaTagWidth = -1; 354 _allowsLinkPreview = YES;355 354 356 355 [self _frameOrBoundsChanged]; … … 658 657 { 659 658 return toAPI(_page.get()); 659 } 660 661 - (BOOL)allowsLinkPreview 662 { 663 #if PLATFORM(MAC) 664 return [_wkView allowsLinkPreview]; 665 #elif PLATFORM(IOS) 666 return _allowsLinkPreview; 667 #endif 668 } 669 670 - (void)setAllowsLinkPreview:(BOOL)allowsLinkPreview 671 { 672 #if PLATFORM(MAC) 673 [_wkView setAllowsLinkPreview:allowsLinkPreview]; 674 return; 675 #elif PLATFORM(IOS) 676 if (_allowsLinkPreview == allowsLinkPreview) 677 return; 678 679 _allowsLinkPreview = allowsLinkPreview; 680 681 #if HAVE(LINK_PREVIEW) 682 if (_allowsLinkPreview) 683 [_contentView _registerPreview]; 684 else 685 [_contentView _unregisterPreview]; 686 #endif // HAVE(LINK_PREVIEW) 687 #endif // PLATFORM(IOS) 660 688 } 661 689 … … 3027 3055 } 3028 3056 3029 - (BOOL)_allowsLinkPreview 3030 { 3031 return _allowsLinkPreview; 3032 } 3033 3034 - (void)_setAllowsLinkPreview:(BOOL)allowsLinkPreview 3035 { 3036 if (_allowsLinkPreview == allowsLinkPreview) 3037 return; 3038 3039 _allowsLinkPreview = allowsLinkPreview; 3040 } 3041 3042 #else 3057 #else // #if PLATFORM(IOS) 3043 3058 3044 3059 #pragma mark - OS X-specific methods -
branches/safari-601.1.46-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h
r187390 r187979 132 132 @property (nonatomic, readonly) _WKWebViewPrintFormatter *_webViewPrintFormatter; 133 133 134 // Indicating whether link preview is allowed. The default value is YES.135 @property (nonatomic, getter=_allowsLinkPreview, setter=_setAllowsLinkPreview:) BOOL _allowsLinkPreview WK_AVAILABLE(NA, WK_IOS_TBA);136 137 134 - (void)_beginInteractiveObscuredInsetsChange; 138 135 - (void)_endInteractiveObscuredInsetsChange; -
branches/safari-601.1.46-branch/Source/WebKit2/UIProcess/API/mac/WKView.mm
r186662 r187979 262 262 BOOL _ignoresAllEvents; 263 263 BOOL _allowsBackForwardNavigationGestures; 264 BOOL _allowsLinkPreview; 264 265 265 266 RetainPtr<WKViewLayoutStrategy> _layoutStrategy; … … 2707 2708 2708 2709 #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101000 2709 if (_data->_immediateActionGestureRecognizer && ![[self gestureRecognizers] containsObject:_data->_immediateActionGestureRecognizer.get()] && !_data->_ignoresNonWheelEvents )2710 if (_data->_immediateActionGestureRecognizer && ![[self gestureRecognizers] containsObject:_data->_immediateActionGestureRecognizer.get()] && !_data->_ignoresNonWheelEvents && _data->_allowsLinkPreview) 2710 2711 [self addGestureRecognizer:_data->_immediateActionGestureRecognizer.get()]; 2711 2712 #endif … … 3798 3799 3799 3800 #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101000 3801 _data->_allowsLinkPreview = YES; 3802 3800 3803 if (Class gestureClass = NSClassFromString(@"NSImmediateActionGestureRecognizer")) { 3801 3804 _data->_immediateActionGestureRecognizer = adoptNS([(NSImmediateActionGestureRecognizer *)[gestureClass alloc] init]); … … 4222 4225 } 4223 4226 4227 - (BOOL)allowsLinkPreview 4228 { 4229 return _data->_allowsLinkPreview; 4230 } 4231 4232 - (void)setAllowsLinkPreview:(BOOL)allowsLinkPreview 4233 { 4234 if (_data->_allowsLinkPreview == allowsLinkPreview) 4235 return; 4236 4237 _data->_allowsLinkPreview = allowsLinkPreview; 4238 4239 #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101000 4240 if (!allowsLinkPreview) 4241 [self removeGestureRecognizer:_data->_immediateActionGestureRecognizer.get()]; 4242 else if (NSGestureRecognizer *immediateActionRecognizer = _data->_immediateActionGestureRecognizer.get()) 4243 [self addGestureRecognizer:immediateActionRecognizer]; 4244 #endif 4245 } 4246 4224 4247 - (void)_setIgnoresAllEvents:(BOOL)ignoresAllEvents 4225 4248 { … … 4245 4268 if (ignoresNonWheelEvents) 4246 4269 [self removeGestureRecognizer:_data->_immediateActionGestureRecognizer.get()]; 4247 else if (NSGestureRecognizer *immediateActionRecognizer = _data->_immediateActionGestureRecognizer.get()) 4248 [self addGestureRecognizer:immediateActionRecognizer]; 4270 else if (NSGestureRecognizer *immediateActionRecognizer = _data->_immediateActionGestureRecognizer.get()) { 4271 if (_data->_allowsLinkPreview) 4272 [self addGestureRecognizer:immediateActionRecognizer]; 4273 } 4249 4274 #endif 4250 4275 } -
branches/safari-601.1.46-branch/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm
r187976 r187979 3201 3201 - (void)_registerPreview 3202 3202 { 3203 if (!_webView.allowsLinkPreview) 3204 return; 3205 3203 3206 _previewItemController = adoptNS([[UIPreviewItemController alloc] initWithView:self]); 3204 3207 [_previewItemController setDelegate:self];
Note: See TracChangeset
for help on using the changeset viewer.