Rollout r156635 since the old behavior was intentional.
[WebKit-https.git] / Source / WebCore / page / EventHandler.cpp
index 6b1b02b61d6cddc31e0beb4aa4d30e764499dd25..bbda67ed162794c8be433af026b52a61404d6ea4 100644 (file)
@@ -1373,6 +1373,17 @@ OptionalCursor EventHandler::selectCursor(const HitTestResult& result, bool shif
         }
     }
 
+    // During selection, use an I-beam regardless of the content beneath the cursor.
+    // 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
+#if ENABLE(DRAG_SUPPORT)
+        && !m_mouseDownMayStartDrag
+#endif
+        && m_frame.selection().isCaretOrRange()
+        && !m_capturingMouseEventsElement)
+        return iBeam;
+
     switch (style ? style->cursor() : CURSOR_AUTO) {
     case CURSOR_AUTO: {
         bool editable = node->hasEditableStyle();
@@ -1388,17 +1399,6 @@ OptionalCursor EventHandler::selectCursor(const HitTestResult& result, bool shif
             }
         }
 
-        // During selection, use an I-beam regardless of the content beneath the cursor when cursor style is not explicitly specified.
-        // 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
-#if ENABLE(DRAG_SUPPORT)
-            && !m_mouseDownMayStartDrag
-#endif
-            && m_frame.selection().isCaretOrRange()
-            && !m_capturingMouseEventsElement) {
-            return iBeam;
-        }
-
         if ((editable || (renderer && renderer->isText() && node->canStartSelection())) && !inResizer && !result.scrollbar())
             return iBeam;
         return pointerCursor();