Changeset 175985 in webkit
- Timestamp:
- Nov 11, 2014 3:59:41 PM (9 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r175983 r175985 1 2014-11-11 Conrad Shultz <conrad_shultz@apple.com> 2 3 Clients should be notified when a page preview finishes 4 https://bugs.webkit.org/show_bug.cgi?id=138635 5 6 Reviewed by Tim Horton. 7 8 Add SPI to WKView to allow clients to do any cleanup that might be necessary when the preview closes. 9 10 * UIProcess/API/Cocoa/WKViewPrivate.h: 11 Declare new SPI. 12 13 * UIProcess/API/mac/WKView.mm: 14 (-[WKView _finishPreviewingURL:withPreviewView:]): 15 Stub SPI implementation. 16 17 * UIProcess/mac/WKActionMenuController.h: 18 Add an ivar for the preview view controller. 19 20 * UIProcess/mac/WKActionMenuController.mm: 21 (-[WKActionMenuController _createPreviewPopoverForURL:originRect:]): 22 Update to use the ivar. 23 (-[WKActionMenuController _clearPreviewPopover]): 24 Send -_finishPreviewingURL:withPreviewView: and nil out the view controller ivar. 25 1 26 2014-11-11 Tim Horton <timothy_horton@apple.com> 2 27 -
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKViewPrivate.h
r175759 r175985 124 124 125 125 - (NSView *)_viewForPreviewingURL:(NSURL *)url initialFrameSize:(NSSize)initialFrameSize; 126 - (void)_finishPreviewingURL:(NSURL *)url withPreviewView:(NSView *)previewView; 126 127 #endif 127 128 -
trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm
r175973 r175985 4195 4195 } 4196 4196 4197 - (void)_finishPreviewingURL:(NSURL *)url withPreviewView:(NSView *)previewView 4198 { 4199 } 4200 4197 4201 #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101000 4198 4202 -
trunk/Source/WebKit2/UIProcess/mac/WKActionMenuController.h
r175756 r175985 47 47 @class WKView; 48 48 49 #if WK_API_ENABLED 50 @class WKPagePreviewViewController; 51 #endif 52 49 53 @interface WKActionMenuController : NSObject <NSMenuDelegate> { 50 54 @private … … 61 65 BOOL _isShowingTextIndicator; 62 66 BOOL _shouldKeepPreviewPopoverOpen; 67 68 #if WK_API_ENABLED 69 RetainPtr<WKPagePreviewViewController> _previewViewController; 70 #endif 63 71 } 64 72 -
trunk/Source/WebKit2/UIProcess/mac/WKActionMenuController.mm
r175983 r175985 326 326 NSSize popoverSize = [self _preferredSizeForPopoverPresentedFromOriginRect:originRect]; 327 327 CGFloat actualPopoverToViewScale = popoverSize.width / NSWidth(_wkView.bounds); 328 RetainPtr<WKPagePreviewViewController>previewViewController = adoptNS([[WKPagePreviewViewController alloc] initWithPageURL:url mainViewSize:_wkView.bounds.size popoverToViewScale:actualPopoverToViewScale]);329 previewViewController->_delegate = self;328 _previewViewController = adoptNS([[WKPagePreviewViewController alloc] initWithPageURL:url mainViewSize:_wkView.bounds.size popoverToViewScale:actualPopoverToViewScale]); 329 _previewViewController->_delegate = self; 330 330 331 331 _previewPopover = adoptNS([[NSPopover alloc] init]); 332 332 [_previewPopover setBehavior:NSPopoverBehaviorTransient]; 333 333 [_previewPopover setContentSize:popoverSize]; 334 [_previewPopover setContentViewController: previewViewController.get()];334 [_previewPopover setContentViewController:_previewViewController.get()]; 335 335 [_previewPopover setDelegate:self]; 336 336 } … … 385 385 { 386 386 #if WK_API_ENABLED 387 if (WKPagePreviewViewController *pagePreviewViewController = (WKPagePreviewViewController *)[_previewPopover contentViewController]) 388 pagePreviewViewController->_delegate = nil; 387 if (_previewViewController) { 388 _previewViewController->_delegate = nil; 389 [_wkView _finishPreviewingURL:_previewViewController->_url.get() withPreviewView:[_previewViewController view]]; 390 _previewViewController = nil; 391 } 389 392 #endif 390 393
Note: See TracChangeset
for help on using the changeset viewer.