Title: [176238] trunk/Source/WebKit2
- Revision
- 176238
- Author
- [email protected]
- Date
- 2014-11-17 17:13:16 -0800 (Mon, 17 Nov 2014)
Log Message
Page previews should be loaded sooner
https://bugs.webkit.org/show_bug.cgi?id=138814
Reviewed by Tim Horton.
* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController willOpenMenu:withEvent:]):
Send -_createPreviewPopover..
(-[WKActionMenuController _previewURLFromActionMenu:]):
Relocate some logic to the new -_createPreviewPopover; gate early return on popover visibility.
(-[WKActionMenuController _createPreviewPopover]):
Renamed from -_createPreviewPopoverForURL:originRect:; explicitly send -loadView to warm up the preview view.
(-[WKActionMenuController _createPreviewPopoverForURL:originRect:]): Deleted.
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (176237 => 176238)
--- trunk/Source/WebKit2/ChangeLog 2014-11-18 00:47:40 UTC (rev 176237)
+++ trunk/Source/WebKit2/ChangeLog 2014-11-18 01:13:16 UTC (rev 176238)
@@ -1,3 +1,19 @@
+2014-11-17 Conrad Shultz <[email protected]>
+
+ Page previews should be loaded sooner
+ https://bugs.webkit.org/show_bug.cgi?id=138814
+
+ Reviewed by Tim Horton.
+
+ * UIProcess/mac/WKActionMenuController.mm:
+ (-[WKActionMenuController willOpenMenu:withEvent:]):
+ Send -_createPreviewPopover..
+ (-[WKActionMenuController _previewURLFromActionMenu:]):
+ Relocate some logic to the new -_createPreviewPopover; gate early return on popover visibility.
+ (-[WKActionMenuController _createPreviewPopover]):
+ Renamed from -_createPreviewPopoverForURL:originRect:; explicitly send -loadView to warm up the preview view.
+ (-[WKActionMenuController _createPreviewPopoverForURL:originRect:]): Deleted.
+
2014-11-17 Beth Dakin <[email protected]>
Preview is sometimes dismissed too early
Modified: trunk/Source/WebKit2/UIProcess/mac/WKActionMenuController.mm (176237 => 176238)
--- trunk/Source/WebKit2/UIProcess/mac/WKActionMenuController.mm 2014-11-18 00:47:40 UTC (rev 176237)
+++ trunk/Source/WebKit2/UIProcess/mac/WKActionMenuController.mm 2014-11-18 01:13:16 UTC (rev 176238)
@@ -210,6 +210,9 @@
}
if (![self isMenuForTextContent]) {
+#if WK_API_ENABLED
+ [self _createPreviewPopover];
+#endif
_page->clearSelection();
return;
}
@@ -320,23 +323,28 @@
- (void)_previewURLFromActionMenu:(id)sender
{
+ ASSERT(_previewPopover);
+
// We might already have a preview showing if the menu item was highlighted earlier.
- if (_previewPopover)
+ if ([_previewPopover isShown])
return;
RefPtr<WebHitTestResult> hitTestResult = [self _webHitTestResult];
- NSURL *url = "" _web_URLWithWTFString:hitTestResult->absoluteLinkURL()];
NSRect originRect = hitTestResult->elementBoundingBox();
- [self _createPreviewPopoverForURL:url originRect:originRect];
[_previewPopover showRelativeToRect:originRect ofView:_wkView preferredEdge:NSMaxYEdge];
}
-- (void)_createPreviewPopoverForURL:(NSURL *)url originRect:(NSRect)originRect
+- (void)_createPreviewPopover
{
+ RefPtr<WebHitTestResult> hitTestResult = [self _webHitTestResult];
+ NSURL *url = "" _web_URLWithWTFString:hitTestResult->absoluteLinkURL()];
+ NSRect originRect = hitTestResult->elementBoundingBox();
+
NSSize popoverSize = [self _preferredSizeForPopoverPresentedFromOriginRect:originRect];
CGFloat actualPopoverToViewScale = popoverSize.width / NSWidth(_wkView.bounds);
_previewViewController = adoptNS([[WKPagePreviewViewController alloc] initWithPageURL:url mainViewSize:_wkView.bounds.size popoverToViewScale:actualPopoverToViewScale]);
_previewViewController->_delegate = self;
+ [_previewViewController loadView];
_previewPopover = adoptNS([[NSPopover alloc] init]);
[_previewPopover setBehavior:NSPopoverBehaviorApplicationDefined];
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes