| Index: Source/core/editing/InputMethodController.cpp
|
| diff --git a/Source/core/editing/InputMethodController.cpp b/Source/core/editing/InputMethodController.cpp
|
| index 47a27e6abba2bbc30475fe03c0fe856aacf7e8ad..eeeb84f330861ff3afd72097a24da9871ca3c9bf 100644
|
| --- a/Source/core/editing/InputMethodController.cpp
|
| +++ b/Source/core/editing/InputMethodController.cpp
|
| @@ -259,7 +259,12 @@ void InputMethodController::setComposition(const String& text, const Vector<Comp
|
| // We should send a compositionstart event only when the given text is not empty because this
|
| // function doesn't create a composition node when the text is empty.
|
| if (!text.isEmpty()) {
|
| - target->dispatchEvent(CompositionEvent::create(EventTypeNames::compositionstart, m_frame.domWindow(), m_frame.selectedText(), underlines));
|
| + RefPtrWillBeRawPtr<CompositionEvent> compositionStartEvent = CompositionEvent::create(EventTypeNames::compositionstart, m_frame.domWindow(), m_frame.selectedText(), underlines);
|
| + if (!target->dispatchEvent(compositionStartEvent)) {
|
| + RefPtrWillBeRawPtr<CompositionEvent> compositionEndEvent = CompositionEvent::create(EventTypeNames::compositionend, m_frame.domWindow(), emptyString(), Vector<CompositionUnderline>());
|
| + target->dispatchEvent(compositionEndEvent, IGNORE_EXCEPTION);
|
| + return;
|
| + }
|
| event = CompositionEvent::create(EventTypeNames::compositionupdate, m_frame.domWindow(), text, underlines);
|
| }
|
| } else {
|
|
|