Index: content/plugin/webplugin_delegate_stub.cc |
diff --git a/content/plugin/webplugin_delegate_stub.cc b/content/plugin/webplugin_delegate_stub.cc |
index a70be976e4a75b813121f7809b891eb57a69a565..0f1db98f926003e996ebdd4e2f5eac293d213b96 100644 |
--- a/content/plugin/webplugin_delegate_stub.cc |
+++ b/content/plugin/webplugin_delegate_stub.cc |
@@ -103,6 +103,12 @@ |
IPC_MESSAGE_HANDLER(PluginMsg_UpdateGeometry, OnUpdateGeometry) |
IPC_MESSAGE_HANDLER(PluginMsg_UpdateGeometrySync, OnUpdateGeometry) |
IPC_MESSAGE_HANDLER(PluginMsg_SetContentAreaFocus, OnSetContentAreaFocus) |
+#if defined(OS_WIN) && !defined(USE_AURA) |
+ IPC_MESSAGE_HANDLER(PluginMsg_ImeCompositionUpdated, |
+ OnImeCompositionUpdated) |
+ IPC_MESSAGE_HANDLER(PluginMsg_ImeCompositionCompleted, |
+ OnImeCompositionCompleted) |
+#endif |
#if defined(OS_MACOSX) |
IPC_MESSAGE_HANDLER(PluginMsg_SetWindowFocus, OnSetWindowFocus) |
IPC_MESSAGE_HANDLER(PluginMsg_ContainerHidden, OnContainerHidden) |
@@ -173,6 +179,10 @@ |
void WebPluginDelegateStub::OnSetFocus(bool focused) { |
delegate_->SetFocus(focused); |
+#if defined(OS_WIN) && !defined(USE_AURA) |
+ if (focused) |
+ webplugin_->UpdateIMEStatus(); |
+#endif |
} |
void WebPluginDelegateStub::OnHandleInputEvent( |
@@ -233,6 +243,24 @@ |
delegate_->SetContentAreaHasFocus(has_focus); |
} |
+#if defined(OS_WIN) && !defined(USE_AURA) |
+void WebPluginDelegateStub::OnImeCompositionUpdated( |
+ const base::string16& text, |
+ const std::vector<int>& clauses, |
+ const std::vector<int>& target, |
+ int cursor_position) { |
+ if (delegate_) |
+ delegate_->ImeCompositionUpdated(text, clauses, target, cursor_position); |
+ webplugin_->UpdateIMEStatus(); |
+} |
+ |
+void WebPluginDelegateStub::OnImeCompositionCompleted( |
+ const base::string16& text) { |
+ if (delegate_) |
+ delegate_->ImeCompositionCompleted(text); |
+} |
+#endif |
+ |
#if defined(OS_MACOSX) |
void WebPluginDelegateStub::OnSetWindowFocus(bool has_focus) { |
if (delegate_) |