TextIndicator can get stuck (especially if we don't get LUNotificationPopoverWillClos...
authortimothy_horton@apple.com <timothy_horton@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 2 Dec 2014 19:34:27 +0000 (19:34 +0000)
committertimothy_horton@apple.com <timothy_horton@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 2 Dec 2014 19:34:27 +0000 (19:34 +0000)
https://bugs.webkit.org/show_bug.cgi?id=139175
<rdar://problem/19072236>

Reviewed by Beth Dakin.

* UIProcess/API/mac/WKView.mm:
(-[WKView scrollWheel:]):
(-[WKView mouseDown:]):
Work around <rdar://problem/19086993> by always explicitly clearing the
active text indicator in mouseDown: and scrollWheel:.
This way, even if you manage to get a text indicator that outlives the
Look Up popover (or find-in-page, or whatever), it will be dismissed
by clicking or scrolling the view.

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

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

index b998efa0e5dc52a5db2bdeb3042019328dd2047b..7c3d98ba0188a9974ec2dc06f617d1d862aad865 100644 (file)
@@ -1,3 +1,20 @@
+2014-12-02  Tim Horton  <timothy_horton@apple.com>
+
+        TextIndicator can get stuck (especially if we don't get LUNotificationPopoverWillClose when we should)
+        https://bugs.webkit.org/show_bug.cgi?id=139175
+        <rdar://problem/19072236>
+
+        Reviewed by Beth Dakin.
+
+        * UIProcess/API/mac/WKView.mm:
+        (-[WKView scrollWheel:]):
+        (-[WKView mouseDown:]):
+        Work around <rdar://problem/19086993> by always explicitly clearing the
+        active text indicator in mouseDown: and scrollWheel:.
+        This way, even if you manage to get a text indicator that outlives the
+        Look Up popover (or find-in-page, or whatever), it will be dismissed
+        by clicking or scrolling the view.
+
 2014-12-02  Anders Carlsson  <andersca@apple.com>
 
         Remove visited link handling from PageGroup
index 8943785540fa7e4c6fbb97b66ad41f6e620f68be..bb04b9b9fe9a269980798ea482af378f17642f63 100644 (file)
@@ -1209,6 +1209,9 @@ NATIVE_MOUSE_EVENT_HANDLER(rightMouseUp)
     if ([self _shouldIgnoreWheelEvents])
         return;
 
+    // Work around <rdar://problem/19086993> by always clearing the active text indicator on scroll.
+    [self _setTextIndicator:nullptr fadeOut:NO];
+
     if (_data->_allowsBackForwardNavigationGestures) {
         [self _ensureGestureController];
         if (_data->_gestureController->handleScrollWheelEvent(event))
@@ -1256,6 +1259,9 @@ NATIVE_MOUSE_EVENT_HANDLER(rightMouseUp)
 
     [self _setMouseDownEvent:event];
     _data->_ignoringMouseDraggedEvents = NO;
+
+    // Work around <rdar://problem/19086993> by always clearing the active text indicator on mouseDown.
+    [self _setTextIndicator:nullptr fadeOut:NO];
 #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101000
     [_data->_actionMenuController wkView:self willHandleMouseDown:event];
 #endif