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 3ed0698ffd30d902cf32ad9cfd1ec0809747ce09..0497607e70dc73d3466912240a833ce468ebf402 100644 |
--- a/third_party/WebKit/Source/web/WebFrameWidgetImpl.cpp |
+++ b/third_party/WebKit/Source/web/WebFrameWidgetImpl.cpp |
@@ -478,7 +478,7 @@ void WebFrameWidgetImpl::setFocus(bool enable) |
if (autofillClient) |
autofillClient->setIgnoreTextChanges(true); |
- focusedFrame->inputMethodController().confirmComposition(); |
+ focusedFrame->inputMethodController().replaceComposition(); |
if (autofillClient) |
autofillClient->setIgnoreTextChanges(false); |
@@ -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 relativeCursorPosition) |
{ |
UserGestureIndicator gestureIndicator(DefinitelyProcessingNewUserGesture); |
- return confirmComposition(text, DoNotKeepSelection); |
+ return confirmComposition(text, DoNotKeepSelection, relativeCursorPosition); |
} |
-bool WebFrameWidgetImpl::confirmComposition(const WebString& text, ConfirmCompositionBehavior selectionBehavior) const |
+bool WebFrameWidgetImpl::confirmComposition(const WebString& text, ConfirmCompositionBehavior selectionBehavior, int relativeCursorPosition) const |
{ |
LocalFrame* focused = focusedLocalFrameAvailableForIme(); |
if (!focused) |
return false; |
if (WebPlugin* plugin = focusedPluginIfInputMethodSupported(focused)) |
- return plugin->confirmComposition(text, selectionBehavior); |
+ return plugin->confirmComposition(text, selectionBehavior, relativeCursorPosition); |
- return focused->inputMethodController().confirmCompositionOrInsertText(text, selectionBehavior == KeepSelection ? InputMethodController::KeepSelection : InputMethodController::DoNotKeepSelection); |
+ if (selectionBehavior == KeepSelection) |
+ return focused->inputMethodController().confirmComposition(text); |
+ |
+ return focused->inputMethodController().confirmCompositionWithCursor(text, relativeCursorPosition); |
} |
bool WebFrameWidgetImpl::compositionRange(size_t* location, size_t* length) |