REGRESSION(r96566): Cursor is I-beam upon dragging an attachment in mail
authoradele@apple.com <adele@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 7 Mar 2012 17:23:46 +0000 (17:23 +0000)
committeradele@apple.com <adele@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 7 Mar 2012 17:23:46 +0000 (17:23 +0000)
https://bugs.webkit.org/show_bug.cgi?id=80458
<rdar://problem/10873195>

Reviewed by Dan Bernstein.

No tests because we currently don't have any test machinery for cursors.

Make sure the shortcut to always use an iBeam cursor during selection isn't used during dragging.
Before r96566, we handled plugin cursors as a special case before calling into selectCursor, so we never hit this code path.

* page/EventHandler.cpp: (WebCore::EventHandler::selectCursor):

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

Source/WebCore/ChangeLog
Source/WebCore/page/EventHandler.cpp

index 8cbf246..c937790 100644 (file)
@@ -1,3 +1,18 @@
+2012-03-07  Adele Peterson  <adele@apple.com>
+
+        REGRESSION(r96566): Cursor is I-beam upon dragging an attachment in mail
+        https://bugs.webkit.org/show_bug.cgi?id=80458
+        <rdar://problem/10873195>
+
+        Reviewed by Dan Bernstein.
+
+        No tests because we currently don't have any test machinery for cursors.
+
+        Make sure the shortcut to always use an iBeam cursor during selection isn't used during dragging.
+        Before r96566, we handled plugin cursors as a special case before calling into selectCursor, so we never hit this code path.
+
+        * page/EventHandler.cpp: (WebCore::EventHandler::selectCursor):
+
 2012-03-07  ChangSeok Oh  <shivamidow@gmail.com>
 
         [EFL] Key press event is not processed properly.
index f10e4ab..1c1147b 100644 (file)
@@ -1285,8 +1285,8 @@ OptionalCursor EventHandler::selectCursor(const MouseEventWithHitTestResults& ev
     const Cursor& iBeam = horizontalText ? iBeamCursor() : verticalTextCursor();
 
     // During selection, use an I-beam no matter what we're over.
-    // If you're capturing mouse events for a particular node, don't treat this as a selection.
-    if (m_mousePressed && m_mouseDownMayStartSelect && m_frame->selection()->isCaretOrRange() && !m_capturingMouseEventsNode)
+    // If a drag may be starting or we're capturing mouse events for a particular node, don't treat this as a selection.
+    if (m_mousePressed && m_mouseDownMayStartSelect && !m_mouseDownMayStartDrag && m_frame->selection()->isCaretOrRange() && !m_capturingMouseEventsNode)
         return iBeam;
 
     if (renderer) {