Index: chrome/renderer/render_view.cc |
=================================================================== |
--- chrome/renderer/render_view.cc (revision 62862) |
+++ chrome/renderer/render_view.cc (working copy) |
@@ -789,6 +789,8 @@ |
#if defined(OS_MACOSX) |
IPC_MESSAGE_HANDLER(ViewMsg_SetWindowVisibility, OnSetWindowVisibility) |
IPC_MESSAGE_HANDLER(ViewMsg_WindowFrameChanged, OnWindowFrameChanged) |
+ IPC_MESSAGE_HANDLER(ViewMsg_PluginImeCompositionConfirmed, |
+ OnPluginImeCompositionConfirmed) |
#endif |
IPC_MESSAGE_HANDLER(ViewMsg_SetEditCommandsForNextKeyEvent, |
OnSetEditCommandsForNextKeyEvent) |
@@ -4875,6 +4877,17 @@ |
(*plugin_it)->WindowFrameChanged(window_frame, view_frame); |
} |
} |
+ |
+void RenderView::OnPluginImeCompositionConfirmed(const string16& text, |
+ int plugin_id) { |
+ // WebPluginDelegateProxy is responsible for figuring out if this text |
+ // applies to it or not, so inform all the delegates. |
+ std::set<WebPluginDelegateProxy*>::iterator plugin_it; |
+ for (plugin_it = plugin_delegates_.begin(); |
+ plugin_it != plugin_delegates_.end(); ++plugin_it) { |
+ (*plugin_it)->ImeCompositionConfirmed(text, plugin_id); |
+ } |
+} |
#endif // OS_MACOSX |
void RenderView::SendExtensionRequest( |
@@ -5790,6 +5803,15 @@ |
} |
#if defined(OS_MACOSX) |
+void RenderView::SetPluginImeEnabled(bool enabled, int plugin_id) { |
+ IPC::Message* msg = new ViewHostMsg_SetPluginImeEnabled(routing_id(), |
+ enabled, plugin_id); |
+ // This message can be sent during event-handling, and needs to be delivered |
+ // within that context. |
+ msg->set_unblock(true); |
+ Send(msg); |
+} |
+ |
gfx::PluginWindowHandle RenderView::AllocateFakePluginWindowHandle( |
bool opaque, bool root) { |
gfx::PluginWindowHandle window = NULL; |