Quick Look preview popover is not dismissed on scroll in Mail
authortimothy_horton@apple.com <timothy_horton@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 23 Apr 2015 23:18:03 +0000 (23:18 +0000)
committertimothy_horton@apple.com <timothy_horton@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 23 Apr 2015 23:18:03 +0000 (23:18 +0000)
https://bugs.webkit.org/show_bug.cgi?id=144119
<rdar://problem/19752045>

Reviewed by Anders Carlsson.

* UIProcess/API/mac/WKView.mm:
(-[WKView renewGState]):
If we have a TextIndicator, dismiss all content relative child windows
on renewGState, not just the TextIndicator itself.

This will fix cases like Mail, where WebKit isn't driving the scrolling,
and we have no way (except renewGState) to know that scrolling is happening.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183228 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebKit2/ChangeLog
Source/WebKit2/UIProcess/API/mac/WKView.mm

index a50eba7..0af44cd 100644 (file)
@@ -1,3 +1,19 @@
+2015-04-23  Tim Horton  <timothy_horton@apple.com>
+
+        Quick Look preview popover is not dismissed on scroll in Mail
+        https://bugs.webkit.org/show_bug.cgi?id=144119
+        <rdar://problem/19752045>
+
+        Reviewed by Anders Carlsson.
+
+        * UIProcess/API/mac/WKView.mm:
+        (-[WKView renewGState]):
+        If we have a TextIndicator, dismiss all content relative child windows
+        on renewGState, not just the TextIndicator itself.
+
+        This will fix cases like Mail, where WebKit isn't driving the scrolling,
+        and we have no way (except renewGState) to know that scrolling is happening.
+
 2015-04-23  Simon Fraser  <simon.fraser@apple.com>
 
         Changing TiledBacking velocity should schedule a tile revalidation
index 98219a6..971baf9 100644 (file)
@@ -601,8 +601,8 @@ struct WKViewInterpretKeyEventsParameters {
 
 - (void)renewGState
 {
-    // Hide the find indicator.
-    _data->_textIndicatorWindow = nullptr;
+    if (_data->_textIndicatorWindow)
+        [self _dismissContentRelativeChildWindows];
 
     // Update the view frame.
     if ([self window])