| Index: content/renderer/render_view_impl.cc
|
| diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
|
| index debf4ecb7485994fd60f9e86e834b489e6c79f6b..522706003158c746fb5b6cc6e644cc3a446dace5 100644
|
| --- a/content/renderer/render_view_impl.cc
|
| +++ b/content/renderer/render_view_impl.cc
|
| @@ -1731,6 +1731,8 @@ void RenderViewImpl::OnSetName(const std::string& name) {
|
|
|
| void RenderViewImpl::OnSetEditableSelectionOffsets(int start, int end) {
|
| base::AutoReset<bool> handling_select_range(&handling_select_range_, true);
|
| + if (!ShouldHandleImeEvent())
|
| + return;
|
| ImeEventGuard guard(this);
|
| webview()->setEditableSelectionOffsets(start, end);
|
| }
|
| @@ -1738,14 +1740,14 @@ void RenderViewImpl::OnSetEditableSelectionOffsets(int start, int end) {
|
| void RenderViewImpl::OnSetCompositionFromExistingText(
|
| int start, int end,
|
| const std::vector<WebKit::WebCompositionUnderline>& underlines) {
|
| - if (!webview())
|
| + if (!ShouldHandleImeEvent())
|
| return;
|
| ImeEventGuard guard(this);
|
| webview()->setCompositionFromExistingText(start, end, underlines);
|
| }
|
|
|
| void RenderViewImpl::OnExtendSelectionAndDelete(int before, int after) {
|
| - if (!webview())
|
| + if (!ShouldHandleImeEvent())
|
| return;
|
| ImeEventGuard guard(this);
|
| webview()->extendSelectionAndDelete(before, after);
|
| @@ -2365,7 +2367,7 @@ void RenderViewImpl::didChangeSelection(bool is_empty_selection) {
|
| SyncSelectionIfRequired();
|
| UpdateTextInputType();
|
| #if defined(OS_ANDROID)
|
| - UpdateTextInputState(DO_NOT_SHOW_IME);
|
| + UpdateTextInputState(DO_NOT_SHOW_IME, SEND_IME_ACK);
|
| #endif
|
| }
|
|
|
|
|