Index: Source/core/page/EventHandler.cpp |
diff --git a/Source/core/page/EventHandler.cpp b/Source/core/page/EventHandler.cpp |
index 3a76fe38c87b71fff49668d7f09b69c8c675ac9d..f91e4781a8e47d3e0964f16b82fb2d5c2333a0c2 100644 |
--- a/Source/core/page/EventHandler.cpp |
+++ b/Source/core/page/EventHandler.cpp |
@@ -1105,13 +1105,6 @@ OptionalCursor EventHandler::selectCursor(const MouseEventWithHitTestResults& ev |
bool horizontalText = !style || style->isHorizontalWritingMode(); |
const Cursor& iBeam = horizontalText ? iBeamCursor() : verticalTextCursor(); |
- // During selection, use an I-beam no matter what we're over. |
- // 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) { |
Cursor overrideCursor; |
switch (renderer->getCursor(roundedIntPoint(event.localPoint()), overrideCursor)) { |
@@ -1168,6 +1161,16 @@ OptionalCursor EventHandler::selectCursor(const MouseEventWithHitTestResults& ev |
inResizer = layer->isPointInResizeControl(view->windowToContents(event.event().position()), ResizerForPointer); |
} |
} |
+ |
+ // During selection, use an I-beam no matter what we're over. |
+ // 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 ((editable || (renderer && renderer->isText() && node->canStartSelection())) && !inResizer && !scrollbar) |
return iBeam; |
return pointerCursor(); |