Index: content/renderer/render_widget.cc |
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc |
index 9f4c53f403daaaed03b84d93231b58a2c508753d..dde9a9ea332db99d59fe690f5dd93d1ad43ff107 100644 |
--- a/content/renderer/render_widget.cc |
+++ b/content/renderer/render_widget.cc |
@@ -1222,8 +1222,9 @@ void RenderWidget::OnHandleInputEvent(const blink::WebInputEvent* input_event, |
// 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)) |
+ input_event->type == WebInputEvent::MouseUp)) { |
UpdateTextInputState(SHOW_IME_IF_NEEDED, FROM_IME); |
+ } |
#endif |
if (!prevent_default) { |
@@ -1234,6 +1235,14 @@ void RenderWidget::OnHandleInputEvent(const blink::WebInputEvent* input_event, |
if (WebInputEvent::isTouchEventType(input_event->type)) |
DidHandleTouchEvent(*(static_cast<const WebTouchEvent*>(input_event))); |
} |
+ |
+#if !defined(OS_ANDROID) && !defined(USE_AURA) |
+ // Virtual keyboard is not supported, so react to focus change immediately. |
+ if (processed && (input_event->type == WebInputEvent::TouchEnd || |
+ input_event->type == WebInputEvent::MouseUp)) { |
+ FocusChangeComplete(); |
+ } |
+#endif |
} |
void RenderWidget::OnCursorVisibilityChange(bool is_visible) { |
@@ -1685,6 +1694,8 @@ void RenderWidget::showImeIfNeeded() { |
void RenderWidget::OnShowImeIfNeeded() { |
#if defined(OS_ANDROID) || defined(USE_AURA) |
UpdateTextInputState(SHOW_IME_IF_NEEDED, FROM_NON_IME); |
+#else |
+ FocusChangeComplete(); |
#endif |
} |