Index: content/browser/renderer_host/render_widget_host_view_aura.cc |
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc |
index 174b1e7a2a013f6662ecfd7927bbfc960868a8a6..c479174c6105f0586d4d19d0a9ace056920aa9c5 100644 |
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc |
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc |
@@ -497,6 +497,20 @@ RenderWidgetHostViewAura::RenderWidgetHostViewAura(RenderWidgetHost* host) |
//////////////////////////////////////////////////////////////////////////////// |
// RenderWidgetHostViewAura, RenderWidgetHostView implementation: |
+bool RenderWidgetHostViewAura::OnMessageReceived( |
+ const IPC::Message& message) { |
+ bool handled = true; |
+ IPC_BEGIN_MESSAGE_MAP(RenderWidgetHostViewAura, message) |
+ // TODO(kevers): Move to RenderWidgetHostViewImpl and consolidate IPC |
+ // messages for TextInput<State|Type>Changed. Corresponding code in |
+ // RenderWidgetHostViewAndroid should also be moved at the same time. |
+ IPC_MESSAGE_HANDLER(ViewHostMsg_TextInputStateChanged, |
+ OnTextInputStateChanged) |
+ IPC_MESSAGE_UNHANDLED(handled = false) |
+ IPC_END_MESSAGE_MAP() |
+ return handled; |
+} |
+ |
void RenderWidgetHostViewAura::InitAsChild( |
gfx::NativeView parent_view) { |
window_->SetType(ui::wm::WINDOW_TYPE_CONTROL); |
@@ -913,6 +927,14 @@ void RenderWidgetHostViewAura::TextInputTypeChanged( |
} |
} |
+void RenderWidgetHostViewAura::OnTextInputStateChanged( |
+ const ViewHostMsg_TextInputState_Params& params) { |
+ if (params.show_ime_if_needed && params.type != ui::TEXT_INPUT_TYPE_NONE) { |
+ if (GetInputMethod()) |
+ GetInputMethod()->ShowImeIfNeeded(); |
+ } |
+} |
+ |
void RenderWidgetHostViewAura::ImeCancelComposition() { |
if (GetInputMethod()) |
GetInputMethod()->CancelComposition(this); |