| Index: third_party/WebKit/Source/web/WebFrameWidgetImpl.cpp
|
| diff --git a/third_party/WebKit/Source/web/WebFrameWidgetImpl.cpp b/third_party/WebKit/Source/web/WebFrameWidgetImpl.cpp
|
| index 9d3617c904ecf60aa3a0398948fd4a7d1eadf1d9..3f9f0f2efb5882f5a18d16909d6d4ee80208c9b9 100644
|
| --- a/third_party/WebKit/Source/web/WebFrameWidgetImpl.cpp
|
| +++ b/third_party/WebKit/Source/web/WebFrameWidgetImpl.cpp
|
| @@ -548,25 +548,28 @@ bool WebFrameWidgetImpl::confirmComposition()
|
|
|
| bool WebFrameWidgetImpl::confirmComposition(ConfirmCompositionBehavior selectionBehavior)
|
| {
|
| - return confirmComposition(WebString(), selectionBehavior);
|
| + return confirmComposition(WebString(), selectionBehavior, 1);
|
| }
|
|
|
| -bool WebFrameWidgetImpl::confirmComposition(const WebString& text)
|
| +bool WebFrameWidgetImpl::confirmComposition(const WebString& text, int relativeCaretPosition)
|
| {
|
| UserGestureIndicator gestureIndicator(DefinitelyProcessingNewUserGesture);
|
| - return confirmComposition(text, DoNotKeepSelection);
|
| + return confirmComposition(text, DoNotKeepSelection, relativeCaretPosition);
|
| }
|
|
|
| -bool WebFrameWidgetImpl::confirmComposition(const WebString& text, ConfirmCompositionBehavior selectionBehavior) const
|
| +bool WebFrameWidgetImpl::confirmComposition(const WebString& text, ConfirmCompositionBehavior selectionBehavior, int relativeCaretPosition) const
|
| {
|
| LocalFrame* focused = focusedLocalFrameAvailableForIme();
|
| if (!focused)
|
| return false;
|
|
|
| if (WebPlugin* plugin = focusedPluginIfInputMethodSupported(focused))
|
| - return plugin->confirmComposition(text, selectionBehavior);
|
| + return plugin->confirmComposition(text, selectionBehavior, relativeCaretPosition);
|
|
|
| - return focused->inputMethodController().confirmCompositionOrInsertText(text, selectionBehavior == KeepSelection ? InputMethodController::KeepSelection : InputMethodController::DoNotKeepSelection);
|
| + if (selectionBehavior == KeepSelection)
|
| + return focused->inputMethodController().commitComposition(text);
|
| +
|
| + return focused->inputMethodController().commitCompositionAndMoveCaret(text, relativeCaretPosition);
|
| }
|
|
|
| bool WebFrameWidgetImpl::compositionRange(size_t* location, size_t* length)
|
|
|