Title: [179153] branches/safari-600.4-branch/Source

Diff

Modified: branches/safari-600.4-branch/Source/WebCore/ChangeLog (179152 => 179153)


--- branches/safari-600.4-branch/Source/WebCore/ChangeLog	2015-01-27 00:19:12 UTC (rev 179152)
+++ branches/safari-600.4-branch/Source/WebCore/ChangeLog	2015-01-27 00:19:15 UTC (rev 179153)
@@ -1,3 +1,18 @@
+2015-01-26  Matthew Hanson  <[email protected]>
+
+        Merge r179014. rdar://problem/19573674
+
+    2015-01-23  Timothy Horton  <[email protected]>
+
+            QLPreviewMenuItem popovers don't close when the page scrolls
+            https://bugs.webkit.org/show_bug.cgi?id=140806
+            <rdar://problem/19555618>
+
+            Reviewed by Beth Dakin.
+
+            * platform/spi/mac/QuickLookMacSPI.h:
+            Add some SPI.
+
 2015-01-20  Matthew Hanson  <[email protected]>
 
         Rollout r178679. rdar://problem/19448129

Modified: branches/safari-600.4-branch/Source/WebCore/platform/spi/mac/QuickLookMacSPI.h (179152 => 179153)


--- branches/safari-600.4-branch/Source/WebCore/platform/spi/mac/QuickLookMacSPI.h	2015-01-27 00:19:12 UTC (rev 179152)
+++ branches/safari-600.4-branch/Source/WebCore/platform/spi/mac/QuickLookMacSPI.h	2015-01-27 00:19:15 UTC (rev 179153)
@@ -46,6 +46,8 @@
     QLPreviewStylePopover
 };
 
+- (void)close;
+
 @property (assign) id<QLPreviewMenuItemDelegate> delegate;
 @property QLPreviewStyle previewStyle;
 @end

Modified: branches/safari-600.4-branch/Source/WebKit/mac/ChangeLog (179152 => 179153)


--- branches/safari-600.4-branch/Source/WebKit/mac/ChangeLog	2015-01-27 00:19:12 UTC (rev 179152)
+++ branches/safari-600.4-branch/Source/WebKit/mac/ChangeLog	2015-01-27 00:19:15 UTC (rev 179153)
@@ -1,5 +1,30 @@
 2015-01-26  Matthew Hanson  <[email protected]>
 
+        Merge r179014. rdar://problem/19573674
+
+    2015-01-23  Timothy Horton  <[email protected]>
+
+            QLPreviewMenuItem popovers don't close when the page scrolls
+            https://bugs.webkit.org/show_bug.cgi?id=140806
+            <rdar://problem/19555618>
+
+            Reviewed by Beth Dakin.
+
+            Now that QLPreviewMenuItem's popover doesn't eat scrolls, we need to dismiss it if the page scrolls.
+
+            * WebView/WebHTMLView.mm:
+            (-[WebHTMLView scrollWheel:scrollWheel:]):
+            Send scrollWheel along to WebImmediateActionController.
+
+            * WebView/WebImmediateActionController.h:
+            * WebView/WebImmediateActionController.mm:
+            (-[WebImmediateActionController webView:didHandleScrollWheel:]):
+            (-[WebImmediateActionController _clearImmediateActionState]):
+            (-[WebImmediateActionController _defaultAnimationController]):
+            Keep track of the active QLPreviewMenuItem, and close it upon scroll.
+
+2015-01-26  Matthew Hanson  <[email protected]>
+
         Merge r179013. rdar://problem/19571601
 
     2015-01-23  Timothy Horton  <[email protected]>

Modified: branches/safari-600.4-branch/Source/WebKit/mac/WebView/WebHTMLView.mm (179152 => 179153)


--- branches/safari-600.4-branch/Source/WebKit/mac/WebView/WebHTMLView.mm	2015-01-27 00:19:12 UTC (rev 179152)
+++ branches/safari-600.4-branch/Source/WebKit/mac/WebView/WebHTMLView.mm	2015-01-27 00:19:15 UTC (rev 179153)
@@ -3778,6 +3778,7 @@
 
 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101000
     [[[self _webView] _actionMenuController] webView:[self _webView] didHandleScrollWheel:event];
+    [[[self _webView] _immediateActionController] webView:[self _webView] didHandleScrollWheel:event];
 #endif
 }
 

Modified: branches/safari-600.4-branch/Source/WebKit/mac/WebView/WebImmediateActionController.h (179152 => 179153)


--- branches/safari-600.4-branch/Source/WebKit/mac/WebView/WebImmediateActionController.h	2015-01-27 00:19:12 UTC (rev 179152)
+++ branches/safari-600.4-branch/Source/WebKit/mac/WebView/WebImmediateActionController.h	2015-01-27 00:19:15 UTC (rev 179153)
@@ -31,6 +31,7 @@
 #import <wtf/RetainPtr.h>
 
 @class DDActionContext;
+@class QLPreviewMenuItem;
 @class WebView;
 
 @interface WebImmediateActionController : NSObject <NSImmediateActionGestureRecognizerDelegate> {
@@ -40,6 +41,7 @@
     WebCore::HitTestResult _hitTestResult;
     RetainPtr<NSImmediateActionGestureRecognizer> _immediateActionRecognizer;
 
+    RetainPtr<QLPreviewMenuItem> _currentQLPreviewMenuItem;
     RetainPtr<DDActionContext> _currentActionContext;
     BOOL _isShowingTextIndicator;
     BOOL _hasActivatedActionContext;
@@ -49,6 +51,7 @@
 - (void)webViewClosed;
 
 - (void)webView:(WebView *)webView willHandleMouseDown:(NSEvent *)event;
+- (void)webView:(WebView *)webView didHandleScrollWheel:(NSEvent *)event;
 
 @end
 

Modified: branches/safari-600.4-branch/Source/WebKit/mac/WebView/WebImmediateActionController.mm (179152 => 179153)


--- branches/safari-600.4-branch/Source/WebKit/mac/WebView/WebImmediateActionController.mm	2015-01-27 00:19:12 UTC (rev 179152)
+++ branches/safari-600.4-branch/Source/WebKit/mac/WebView/WebImmediateActionController.mm	2015-01-27 00:19:15 UTC (rev 179153)
@@ -98,6 +98,12 @@
     [self _clearImmediateActionState];
 }
 
+- (void)webView:(WebView *)webView didHandleScrollWheel:(NSEvent *)event
+{
+    [_currentQLPreviewMenuItem close];
+    [self _clearImmediateActionState];
+}
+
 - (void)_cancelImmediateAction
 {
     // Reset the recognizer by turning it off and on again.
@@ -121,6 +127,7 @@
 
     _type = WebImmediateActionNone;
     _currentActionContext = nil;
+    _currentQLPreviewMenuItem = nil;
 }
 
 - (void)performHitTestAtPoint:(NSPoint)viewPoint
@@ -211,6 +218,7 @@
         RetainPtr<QLPreviewMenuItem> qlPreviewLinkItem = [NSMenuItem standardQuickLookMenuItem];
         [qlPreviewLinkItem setPreviewStyle:QLPreviewStylePopover];
         [qlPreviewLinkItem setDelegate:self];
+        _currentQLPreviewMenuItem = qlPreviewLinkItem.get();
         return (id <NSImmediateActionAnimationController>)qlPreviewLinkItem.get();
     }
 

Modified: branches/safari-600.4-branch/Source/WebKit2/ChangeLog (179152 => 179153)


--- branches/safari-600.4-branch/Source/WebKit2/ChangeLog	2015-01-27 00:19:12 UTC (rev 179152)
+++ branches/safari-600.4-branch/Source/WebKit2/ChangeLog	2015-01-27 00:19:15 UTC (rev 179153)
@@ -1,5 +1,30 @@
 2015-01-26  Matthew Hanson  <[email protected]>
 
+        Merge r179014. rdar://problem/19573674
+
+    2015-01-23  Timothy Horton  <[email protected]>
+
+            QLPreviewMenuItem popovers don't close when the page scrolls
+            https://bugs.webkit.org/show_bug.cgi?id=140806
+            <rdar://problem/19555618>
+
+            Reviewed by Beth Dakin.
+
+            Now that QLPreviewMenuItem's popover doesn't eat scrolls, we need to dismiss it if the page scrolls.
+
+            * UIProcess/API/mac/WKView.mm:
+            (-[WKView _dismissContentRelativeChildWindows]):
+            Send _dismissContentRelativeChildWindows on to WKImmediateActionController.
+
+            * UIProcess/mac/WKImmediateActionController.h:
+            * UIProcess/mac/WKImmediateActionController.mm:
+            (-[WKImmediateActionController _clearImmediateActionState]):
+            (-[WKImmediateActionController dismissContentRelativeChildWindows]):
+            (-[WKImmediateActionController _defaultAnimationController]):
+            Keep track of the active QLPreviewMenuItem, and close it upon scroll.
+
+2015-01-26  Matthew Hanson  <[email protected]>
+
         Merge r179013. rdar://problem/19571601
 
     2015-01-23  Timothy Horton  <[email protected]>

Modified: branches/safari-600.4-branch/Source/WebKit2/UIProcess/API/mac/WKView.mm (179152 => 179153)


--- branches/safari-600.4-branch/Source/WebKit2/UIProcess/API/mac/WKView.mm	2015-01-27 00:19:12 UTC (rev 179152)
+++ branches/safari-600.4-branch/Source/WebKit2/UIProcess/API/mac/WKView.mm	2015-01-27 00:19:15 UTC (rev 179153)
@@ -4335,6 +4335,8 @@
 
     [self _setTextIndicator:nullptr fadeOut:NO];
 
+    [_data->_immediateActionController dismissContentRelativeChildWindows];
+
     static_cast<PageClient&>(*_data->_pageClient).dismissCorrectionPanel(ReasonForDismissingAlternativeTextIgnored);
 }
 

Modified: branches/safari-600.4-branch/Source/WebKit2/UIProcess/mac/WKImmediateActionController.h (179152 => 179153)


--- branches/safari-600.4-branch/Source/WebKit2/UIProcess/mac/WKImmediateActionController.h	2015-01-27 00:19:12 UTC (rev 179152)
+++ branches/safari-600.4-branch/Source/WebKit2/UIProcess/mac/WKImmediateActionController.h	2015-01-27 00:19:15 UTC (rev 179153)
@@ -45,6 +45,7 @@
 }
 
 @class DDActionContext;
+@class QLPreviewMenuItem;
 @class WKView;
 
 @interface WKImmediateActionController : NSObject <NSImmediateActionGestureRecognizerDelegate> {
@@ -60,12 +61,14 @@
 
     BOOL _hasActivatedActionContext;
     RetainPtr<DDActionContext> _currentActionContext;
+    RetainPtr<QLPreviewMenuItem> _currentQLPreviewMenuItem;
 }
 
 - (instancetype)initWithPage:(WebKit::WebPageProxy&)page view:(WKView *)wkView recognizer:(NSImmediateActionGestureRecognizer *)immediateActionRecognizer;
 - (void)willDestroyView:(WKView *)view;
 - (void)didPerformActionMenuHitTest:(const WebKit::ActionMenuHitTestResult&)hitTestResult userData:(API::Object*)userData;
 - (void)wkView:(WKView *)wkView willHandleMouseDown:(NSEvent *)event;
+- (void)dismissContentRelativeChildWindows;
 
 @end
 

Modified: branches/safari-600.4-branch/Source/WebKit2/UIProcess/mac/WKImmediateActionController.mm (179152 => 179153)


--- branches/safari-600.4-branch/Source/WebKit2/UIProcess/mac/WKImmediateActionController.mm	2015-01-27 00:19:12 UTC (rev 179152)
+++ branches/safari-600.4-branch/Source/WebKit2/UIProcess/mac/WKImmediateActionController.mm	2015-01-27 00:19:15 UTC (rev 179153)
@@ -126,6 +126,7 @@
     _type = kWKImmediateActionNone;
     _currentActionContext = nil;
     _userData = nil;
+    _currentQLPreviewMenuItem = nil;
 }
 
 - (void)didPerformActionMenuHitTest:(const ActionMenuHitTestResult&)hitTestResult userData:(API::Object*)userData
@@ -139,6 +140,11 @@
     [self _cancelImmediateActionIfNeeded];
 }
 
+- (void)dismissContentRelativeChildWindows
+{
+    [_currentQLPreviewMenuItem close];
+}
+
 #pragma mark NSImmediateActionGestureRecognizerDelegate
 
 - (void)immediateActionRecognizerWillPrepare:(NSImmediateActionGestureRecognizer *)immediateActionRecognizer
@@ -237,6 +243,7 @@
         RetainPtr<QLPreviewMenuItem> qlPreviewLinkItem = [NSMenuItem standardQuickLookMenuItem];
         [qlPreviewLinkItem setPreviewStyle:QLPreviewStylePopover];
         [qlPreviewLinkItem setDelegate:self];
+        _currentQLPreviewMenuItem = qlPreviewLinkItem.get();
         return (id<NSImmediateActionAnimationController>)qlPreviewLinkItem.get();
     }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to