QLPreviewMenuItem popovers don't close when the page scrolls
authortimothy_horton@apple.com <timothy_horton@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 23 Jan 2015 19:43:20 +0000 (19:43 +0000)
committertimothy_horton@apple.com <timothy_horton@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 23 Jan 2015 19:43:20 +0000 (19:43 +0000)
commit5cea877bc6239e2433389e5e25dc958b12d22dee
tree03204669f8c378c0187368289059d70e37afa0bf
parentd9fac208ad5989ad8ca2f0097276f747b6082615
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.

* 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.

* platform/spi/mac/QuickLookMacSPI.h:
Add some SPI.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@179014 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/platform/spi/mac/QuickLookMacSPI.h
Source/WebKit/mac/ChangeLog
Source/WebKit/mac/WebView/WebHTMLView.mm
Source/WebKit/mac/WebView/WebImmediateActionController.h
Source/WebKit/mac/WebView/WebImmediateActionController.mm
Source/WebKit2/ChangeLog
Source/WebKit2/UIProcess/API/mac/WKView.mm
Source/WebKit2/UIProcess/mac/WKImmediateActionController.h
Source/WebKit2/UIProcess/mac/WKImmediateActionController.mm