Index: third_party/WebKit/Source/core/editing/Editor.cpp |
diff --git a/third_party/WebKit/Source/core/editing/Editor.cpp b/third_party/WebKit/Source/core/editing/Editor.cpp |
index 4bf340fd5f88a108d11159655cef891e15700d7c..f1d55a9e975abd4ff82e61466288899c4970399c 100644 |
--- a/third_party/WebKit/Source/core/editing/Editor.cpp |
+++ b/third_party/WebKit/Source/core/editing/Editor.cpp |
@@ -1623,12 +1623,20 @@ void Editor::setMarkedTextMatchesAreHighlighted(bool flag) { |
frame().document()->markers().repaintMarkers(DocumentMarker::TextMatch); |
} |
+SelectionType computeSelectionType(const SelectionInDOMTree& selection) { |
+ if (selection.isNone()) |
+ return NoSelection; |
+ if (selection.base() == selection.extent()) |
+ return CaretSelection; |
+ return RangeSelection; |
+} |
+ |
void Editor::respondToChangedSelection( |
const Position& oldSelectionStart, |
FrameSelection::SetSelectionOptions options) { |
spellChecker().respondToChangedSelection(oldSelectionStart, options); |
- client().respondToChangedSelection(&frame(), |
- frame().selection().getSelectionType()); |
+ client().respondToChangedSelection( |
+ &frame(), computeSelectionType(frame().selection().selectionInDOMTree())); |
setStartNewKillRingSequence(true); |
} |