Index: Source/core/editing/FrameSelection.cpp |
diff --git a/Source/core/editing/FrameSelection.cpp b/Source/core/editing/FrameSelection.cpp |
index 4e72e8c317979864b9730bbc34459d17d35e6c9f..337a1b7dc08977c1d8caa9473b8004240690c1c1 100644 |
--- a/Source/core/editing/FrameSelection.cpp |
+++ b/Source/core/editing/FrameSelection.cpp |
@@ -1414,7 +1414,7 @@ bool FrameSelection::setSelectedRange(Range* range, EAffinity affinity, SetSelec |
m_logicalRange = nullptr; |
stopObservingVisibleSelectionChangeIfNecessary(); |
- VisibleSelection newSelection(range, affinity); |
+ VisibleSelection newSelection(range, affinity, range->collapsed() ? m_selection.isDirectional() : true); |
setSelection(newSelection, options); |
m_logicalRange = range->cloneRange(); |