Index: Source/core/editing/FrameSelection.cpp |
diff --git a/Source/core/editing/FrameSelection.cpp b/Source/core/editing/FrameSelection.cpp |
index 3d8b889617d08372303dd62224d25a45c39cb286..1944215af57c1969e12890c847aa1db6bea2c2e7 100644 |
--- a/Source/core/editing/FrameSelection.cpp |
+++ b/Source/core/editing/FrameSelection.cpp |
@@ -314,8 +314,10 @@ void FrameSelection::setSelection(const VisibleSelection& newSelection, SetSelec |
// boundary, selection for the DOM tree is shrunk while that for the |
// composed tree is not. Additionally, this case occurs in some edge cases. |
// See also: editing/pasteboard/4076267-3.html |
- if (VisibleSelection::InDOMTree::equalSelections(oldSelection, m_selection)) |
+ if (VisibleSelection::InDOMTree::equalSelections(oldSelection, m_selection)) { |
+ m_frame->inputMethodController().cancelCompositionIfSelectionIsInvalid(); |
return; |
+ } |
m_frame->editor().respondToChangedSelection(oldSelection, options); |
if (userTriggered == UserTriggered) { |
ScrollAlignment alignment; |