| Index: content/renderer/render_widget.cc
|
| diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc
|
| index a64b6184fca82289a2db2d5a25d880a19e28ee4c..1ac61b355dd25138ec164d54cf54aff6ad978283 100644
|
| --- a/content/renderer/render_widget.cc
|
| +++ b/content/renderer/render_widget.cc
|
| @@ -1195,6 +1195,12 @@ void RenderWidget::OnHandleInputEvent(const blink::WebInputEvent* input_event,
|
| // of a processed touch end event.
|
| if (input_event->type == WebInputEvent::TouchEnd && processed)
|
| UpdateTextInputState(true, true);
|
| +#elif defined(USE_AURA)
|
| + // Show the virtual keyboard if enabled and a user gesture triggers a focus
|
| + // change.
|
| + if (processed && (input_event->type == WebInputEvent::TouchEnd ||
|
| + input_event->type == WebInputEvent::MouseUp))
|
| + UpdateTextInputState(true, false);
|
| #endif
|
|
|
| handling_input_event_ = false;
|
| @@ -2497,7 +2503,7 @@ void RenderWidget::UpdateTextInputType() {
|
| }
|
| }
|
|
|
| -#if defined(OS_ANDROID)
|
| +#if defined(OS_ANDROID) || defined(USE_AURA)
|
| void RenderWidget::UpdateTextInputState(bool show_ime_if_needed,
|
| bool send_ime_ack) {
|
| if (handling_ime_event_)
|
| @@ -2520,6 +2526,9 @@ void RenderWidget::UpdateTextInputState(bool show_ime_if_needed,
|
| || text_input_info_ != new_info
|
| || can_compose_inline_ != new_can_compose_inline)) {
|
| ViewHostMsg_TextInputState_Params p;
|
| +#if defined(USE_AURA)
|
| + p.require_ack = false;
|
| +#endif
|
| p.type = new_type;
|
| p.value = new_info.value.utf8();
|
| p.selection_start = new_info.selectionStart;
|
| @@ -2528,9 +2537,11 @@ void RenderWidget::UpdateTextInputState(bool show_ime_if_needed,
|
| p.composition_end = new_info.compositionEnd;
|
| p.can_compose_inline = new_can_compose_inline;
|
| p.show_ime_if_needed = show_ime_if_needed;
|
| +#if defined(OS_ANDROID)
|
| p.require_ack = send_ime_ack;
|
| if (p.require_ack)
|
| IncrementOutstandingImeEventAcks();
|
| +#endif
|
| Send(new ViewHostMsg_TextInputStateChanged(routing_id(), p));
|
|
|
| text_input_info_ = new_info;
|
| @@ -2706,7 +2717,7 @@ void RenderWidget::resetInputMethod() {
|
| void RenderWidget::didHandleGestureEvent(
|
| const WebGestureEvent& event,
|
| bool event_cancelled) {
|
| -#if defined(OS_ANDROID)
|
| +#if defined(OS_ANDROID) || defined(USE_AURA)
|
| if (event_cancelled)
|
| return;
|
| if (event.type == WebInputEvent::GestureTap ||
|
|
|