Title: [176342] branches/safari-600.3-branch/Source/WebKit2
Revision
176342
Author
[email protected]
Date
2014-11-19 14:10:52 -0800 (Wed, 19 Nov 2014)

Log Message

Merge r176238. rdar://problem/18990674

Modified Paths

Diff

Modified: branches/safari-600.3-branch/Source/WebKit2/ChangeLog (176341 => 176342)


--- branches/safari-600.3-branch/Source/WebKit2/ChangeLog	2014-11-19 22:07:48 UTC (rev 176341)
+++ branches/safari-600.3-branch/Source/WebKit2/ChangeLog	2014-11-19 22:10:52 UTC (rev 176342)
@@ -1,5 +1,25 @@
 2014-11-19  Dana Burkart  <[email protected]>
 
+        Merge r176238. rdar://problem/18990674
+
+    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-19  Dana Burkart  <[email protected]>
+
         Merge r176237. rdar://problem/18900839
 
     2014-11-17  Beth Dakin  <[email protected]>

Modified: branches/safari-600.3-branch/Source/WebKit2/UIProcess/mac/WKActionMenuController.mm (176341 => 176342)


--- branches/safari-600.3-branch/Source/WebKit2/UIProcess/mac/WKActionMenuController.mm	2014-11-19 22:07:48 UTC (rev 176341)
+++ branches/safari-600.3-branch/Source/WebKit2/UIProcess/mac/WKActionMenuController.mm	2014-11-19 22:10:52 UTC (rev 176342)
@@ -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

Reply via email to