Index: third_party/WebKit/Source/web/WebViewImpl.cpp |
diff --git a/third_party/WebKit/Source/web/WebViewImpl.cpp b/third_party/WebKit/Source/web/WebViewImpl.cpp |
index e2c21cc952e1a42bf5d9c046f4bdd8f383304559..5b4dacfcff21629db0a501546f56b480da727161 100644 |
--- a/third_party/WebKit/Source/web/WebViewImpl.cpp |
+++ b/third_party/WebKit/Source/web/WebViewImpl.cpp |
@@ -2300,7 +2300,7 @@ void WebViewImpl::setFocus(bool enable) |
// needs to be audited. See http://crbug.com/590369 for more details. |
focusedFrame->document()->updateStyleAndLayoutIgnorePendingStylesheets(); |
- focusedFrame->inputMethodController().confirmComposition(); |
+ focusedFrame->inputMethodController().finishComposingText(InputMethodController::KeepSelection); |
if (autofillClient) |
autofillClient->setIgnoreTextChanges(false); |
@@ -2368,36 +2368,34 @@ bool WebViewImpl::setComposition( |
// TODO(ekaramad):These methods are almost duplicated in WebFrameWidgetImpl as |
// well. This code needs to be refactored (http://crbug.com/629721). |
-bool WebViewImpl::confirmComposition() |
+bool WebViewImpl::finishComposingText(ConfirmCompositionBehavior selectionBehavior) |
{ |
- return confirmComposition(DoNotKeepSelection); |
-} |
+ LocalFrame* focused = focusedLocalFrameAvailableForIme(); |
+ if (!focused) |
+ return false; |
-bool WebViewImpl::confirmComposition(ConfirmCompositionBehavior selectionBehavior) |
-{ |
- return confirmComposition(WebString(), selectionBehavior); |
+ if (WebPlugin* plugin = focusedPluginIfInputMethodSupported(focused)) |
+ return plugin->finishComposingText(selectionBehavior); |
+ |
+ return focused->inputMethodController().finishComposingText(selectionBehavior == KeepSelection ? InputMethodController::KeepSelection : InputMethodController::DoNotKeepSelection); |
} |
-bool WebViewImpl::confirmComposition(const WebString& text) |
+bool WebViewImpl::commitText(const WebString& text, int relativeCaretPosition) |
{ |
UserGestureIndicator gestureIndicator(DefinitelyProcessingNewUserGesture); |
- return confirmComposition(text, DoNotKeepSelection); |
-} |
-bool WebViewImpl::confirmComposition(const WebString& text, ConfirmCompositionBehavior selectionBehavior) |
-{ |
LocalFrame* focused = focusedLocalFrameAvailableForIme(); |
if (!focused) |
return false; |
if (WebPlugin* plugin = focusedPluginIfInputMethodSupported(focused)) |
- return plugin->confirmComposition(text, selectionBehavior); |
+ return plugin->commitText(text, relativeCaretPosition); |
// TODO(xiaochengh): The use of updateStyleAndLayoutIgnorePendingStylesheets |
// needs to be audited. See http://crbug.com/590369 for more details. |
focused->document()->updateStyleAndLayoutIgnorePendingStylesheets(); |
- return focused->inputMethodController().confirmCompositionOrInsertText(text, selectionBehavior == KeepSelection ? InputMethodController::KeepSelection : InputMethodController::DoNotKeepSelection); |
+ return focused->inputMethodController().commitText(text, relativeCaretPosition); |
} |
// TODO(ekaramad):This method is almost duplicated in WebFrameWidgetImpl as |