Index: chrome/browser/renderer_host/render_widget_host.cc |
=================================================================== |
--- chrome/browser/renderer_host/render_widget_host.cc (revision 62862) |
+++ chrome/browser/renderer_host/render_widget_host.cc (working copy) |
@@ -168,6 +168,8 @@ |
IPC_MESSAGE_HANDLER(ViewHostMsg_GetScreenInfo, OnMsgGetScreenInfo) |
IPC_MESSAGE_HANDLER(ViewHostMsg_GetWindowRect, OnMsgGetWindowRect) |
IPC_MESSAGE_HANDLER(ViewHostMsg_GetRootWindowRect, OnMsgGetRootWindowRect) |
+ IPC_MESSAGE_HANDLER(ViewHostMsg_SetPluginImeEnabled, |
+ OnMsgSetPluginImeEnabled) |
IPC_MESSAGE_HANDLER(ViewHostMsg_AllocateFakePluginWindowHandle, |
OnAllocateFakePluginWindowHandle) |
IPC_MESSAGE_HANDLER(ViewHostMsg_DestroyFakePluginWindowHandle, |
@@ -1006,6 +1008,10 @@ |
} |
} |
+void RenderWidgetHost::OnMsgSetPluginImeEnabled(bool enabled, int plugin_id) { |
+ view_->SetPluginImeEnabled(enabled, plugin_id); |
+} |
+ |
void RenderWidgetHost::OnAllocateFakePluginWindowHandle( |
bool opaque, |
bool root, |
@@ -1209,6 +1215,11 @@ |
NativeWebKeyboardEvent front_item = key_queue_.front(); |
key_queue_.pop_front(); |
+#if defined(OS_MACOSX) |
+ if (!is_hidden_ && view_->PostProcessEventForPluginIme(front_item)) |
+ return; |
+#endif |
+ |
// We only send unprocessed key event upwards if we are not hidden, |
// because the user has moved away from us and no longer expect any effect |
// of this key event. |