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, |