| 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 fcb6de27e613b5243ba2041aa1d09c6b658e5214..e9363677b083cfeb5233288416f45d5dc1d5c569 100644 | 
| --- a/third_party/WebKit/Source/web/WebFrameWidgetImpl.cpp | 
| +++ b/third_party/WebKit/Source/web/WebFrameWidgetImpl.cpp | 
| @@ -482,7 +482,7 @@ void WebFrameWidgetImpl::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); | 
| @@ -545,36 +545,33 @@ bool WebFrameWidgetImpl::setComposition( | 
| return text.isEmpty() || inputMethodController.hasComposition(); | 
| } | 
|  | 
| -bool WebFrameWidgetImpl::confirmComposition() | 
| +bool WebFrameWidgetImpl::commitText(const WebString& text, int relativeCaretPosition) | 
| { | 
| -    return confirmComposition(DoNotKeepSelection); | 
| -} | 
| +    UserGestureIndicator gestureIndicator(DefinitelyProcessingNewUserGesture); | 
| +    LocalFrame* focused = focusedLocalFrameAvailableForIme(); | 
| +    if (!focused) | 
| +        return false; | 
|  | 
| -bool WebFrameWidgetImpl::confirmComposition(ConfirmCompositionBehavior selectionBehavior) | 
| -{ | 
| -    return confirmComposition(WebString(), selectionBehavior); | 
| -} | 
| +    if (WebPlugin* plugin = focusedPluginIfInputMethodSupported(focused)) | 
| +        return plugin->commitText(text, relativeCaretPosition); | 
|  | 
| -bool WebFrameWidgetImpl::confirmComposition(const WebString& text) | 
| -{ | 
| -    UserGestureIndicator gestureIndicator(DefinitelyProcessingNewUserGesture); | 
| -    return confirmComposition(text, DoNotKeepSelection); | 
| +    return focused->inputMethodController().commitText(text, relativeCaretPosition); | 
| } | 
|  | 
| -bool WebFrameWidgetImpl::confirmComposition(const WebString& text, ConfirmCompositionBehavior selectionBehavior) const | 
| +bool WebFrameWidgetImpl::finishComposingText(ConfirmCompositionBehavior selectionBehavior) | 
| { | 
| LocalFrame* focused = focusedLocalFrameAvailableForIme(); | 
| if (!focused) | 
| return false; | 
|  | 
| if (WebPlugin* plugin = focusedPluginIfInputMethodSupported(focused)) | 
| -        return plugin->confirmComposition(text, selectionBehavior); | 
| +        return plugin->finishComposingText(selectionBehavior); | 
|  | 
| // 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().finishComposingText(selectionBehavior == KeepSelection ? InputMethodController::KeepSelection : InputMethodController::DoNotKeepSelection); | 
| } | 
|  | 
| WebRange WebFrameWidgetImpl::compositionRange() | 
|  |