Index: content/renderer/render_widget.cc |
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc |
index c2eefbd766a8c00c252c1c06c249675af13d37fa..a22d374e6f796eb808d1c81c466c72b6cef5fc5e 100644 |
--- a/content/renderer/render_widget.cc |
+++ b/content/renderer/render_widget.cc |
@@ -1230,8 +1230,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) { |
@@ -1242,6 +1243,16 @@ void RenderWidget::OnHandleInputEvent(const blink::WebInputEvent* input_event, |
if (WebInputEvent::isTouchEventType(input_event->type)) |
DidHandleTouchEvent(*(static_cast<const WebTouchEvent*>(input_event))); |
} |
+ |
+// TODO(rouslan): Fix ChromeOS and Windows 8 behavior of autofill popup with |
+// virtual keyboard. |
+#if !defined(OS_ANDROID) |
+ // 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) { |
@@ -1697,6 +1708,12 @@ void RenderWidget::OnShowImeIfNeeded() { |
#if defined(OS_ANDROID) || defined(USE_AURA) |
UpdateTextInputState(SHOW_IME_IF_NEEDED, FROM_NON_IME); |
#endif |
+ |
+// TODO(rouslan): Fix ChromeOS and Windows 8 behavior of autofill popup with |
+// virtual keyboard. |
+#if !defined(OS_ANDROID) |
+ FocusChangeComplete(); |
+#endif |
} |
#if defined(OS_ANDROID) |