Chromium Code Reviews| Index: content/renderer/render_widget.cc |
| diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc |
| index 74d2f578ca91ef885bc1aac8ba7728aed02ee742..d6e0f5b1fe0a43d0aedf6056a13ef2f54e804797 100644 |
| --- a/content/renderer/render_widget.cc |
| +++ b/content/renderer/render_widget.cc |
| @@ -236,6 +236,7 @@ RenderWidget::RenderWidget(CompositorDependencies* compositor_deps, |
| is_fullscreen_granted_(false), |
| display_mode_(blink::WebDisplayModeUndefined), |
| ime_event_guard_(nullptr), |
| + ime_in_batch_edit_(false), |
| closing_(false), |
| host_closing_(false), |
| is_swapped_out_(swapped_out), |
| @@ -513,6 +514,8 @@ bool RenderWidget::OnMessageReceived(const IPC::Message& message) { |
| IPC_MESSAGE_HANDLER(InputMsg_ImeEventAck, OnImeEventAck) |
| IPC_MESSAGE_HANDLER(InputMsg_RequestTextInputStateUpdate, |
| OnRequestTextInputStateUpdate) |
| + IPC_MESSAGE_HANDLER(InputMsg_ImeBatchEdit, |
| + OnImeBatchEdit) |
| IPC_MESSAGE_HANDLER(ViewMsg_ShowImeIfNeeded, OnShowImeIfNeeded) |
| #endif |
| IPC_MESSAGE_HANDLER(ViewMsg_HandleCompositorProto, OnHandleCompositorProto) |
| @@ -969,6 +972,7 @@ void RenderWidget::UpdateTextInputState(ShowIme show_ime, |
| #if defined(OS_ANDROID) |
| params.is_non_ime_change = |
| (change_source == ChangeSource::FROM_NON_IME) || text_field_is_dirty_; |
| + params.batch_edit = ime_in_batch_edit_; |
| if (params.is_non_ime_change) |
| OnImeEventSentForAck(new_info); |
| text_field_is_dirty_ = false; |
| @@ -1586,6 +1590,19 @@ void RenderWidget::OnRequestTextInputStateUpdate() { |
| UpdateSelectionBounds(); |
| UpdateTextInputState(ShowIme::HIDE_IME, ChangeSource::FROM_IME); |
| } |
| + |
| +void RenderWidget::OnImeBatchEdit(bool begin) { |
|
aelias_OOO_until_Jul13
2016/09/13 02:26:51
Please add in a call to RenderWidgetCompositor::se
Changwan Ryu
2016/09/19 01:51:27
Hmm... Let me try it on another CL (which depends
aelias_OOO_until_Jul13
2016/09/19 19:29:27
Sounds good.
|
| + if (begin) { |
| + ime_in_batch_edit_ = true; |
| + return; |
| + } |
| + if (!ime_in_batch_edit_) |
| + return; |
| + ime_in_batch_edit_ = false; |
| + DCHECK(!ime_event_guard_); |
| + UpdateSelectionBounds(); |
| + UpdateTextInputState(ShowIme::HIDE_IME, ChangeSource::FROM_IME); |
| +} |
| #endif |
| void RenderWidget::OnRequestCompositionUpdate(bool immediate_request, |