summaryrefslogtreecommitdiffstats
path: root/content/renderer/webplugin_delegate_proxy.h
diff options
context:
space:
mode:
authorhbono@chromium.org <hbono@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-04 10:39:23 +0000
committerhbono@chromium.org <hbono@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-04 10:39:23 +0000
commite6ae0f6c421776ee0a22af793469bd892876f9ee (patch)
tree4f43ac40627e7d8f7feb8b7ef84df057a70cc1e4 /content/renderer/webplugin_delegate_proxy.h
parent75a82ff9193029ffc228b2ce0a5cdecc5ce728f3 (diff)
downloadchromium_src-e6ae0f6c421776ee0a22af793469bd892876f9ee.zip
chromium_src-e6ae0f6c421776ee0a22af793469bd892876f9ee.tar.gz
chromium_src-e6ae0f6c421776ee0a22af793469bd892876f9ee.tar.bz2
Send IME events to windowless plug-ins (Chromium side)
This change adds a new class WebPluginIMEWin that converts the platform-independent IME data sent from a renderer process (or WebKit) to the Win32 IME messages and send them to a plug-in. To allow the plug-in to retrieve the IME data with IMM32 function calls, this change also adds a patch to GetProcessAddress(). (Flash seems to retrieve the pointers to IMM32 function with this function.) This change also sends IME status retrieved from the plug-in to a browser process (via a renderer process). BUG=82507 TEST=manual Review URL: http://codereview.chromium.org/7082034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103869 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/renderer/webplugin_delegate_proxy.h')
-rw-r--r--content/renderer/webplugin_delegate_proxy.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/content/renderer/webplugin_delegate_proxy.h b/content/renderer/webplugin_delegate_proxy.h
index 5b66a3c..6cfc3a3 100644
--- a/content/renderer/webplugin_delegate_proxy.h
+++ b/content/renderer/webplugin_delegate_proxy.h
@@ -82,6 +82,18 @@ class WebPluginDelegateProxy
// Informs the plugin that its containing content view has gained or lost
// first responder status.
virtual void SetContentAreaFocus(bool has_focus);
+#if defined(OS_WIN)
+ // Informs the plugin that plugin IME has updated its status.
+ virtual void ImeCompositionUpdated(
+ const string16& text,
+ const std::vector<int>& clauses,
+ const std::vector<int>& target,
+ int cursor_position,
+ int plugin_id);
+ // Informs the plugin that plugin IME has completed.
+ // If |text| is empty, composition was cancelled.
+ virtual void ImeCompositionCompleted(const string16& text, int plugin_id);
+#endif
#if defined(OS_MACOSX)
// Informs the plugin that its enclosing window has gained or lost focus.
virtual void SetWindowFocus(bool window_has_focus);
@@ -139,6 +151,7 @@ class WebPluginDelegateProxy
void OnSetWindow(gfx::PluginWindowHandle window);
#if defined(OS_WIN)
void OnSetWindowlessPumpEvent(HANDLE modal_loop_pump_messages_event);
+ void OnNotifyIMEStatus(const int input_mode, const gfx::Rect& caret_rect);
#endif
void OnCompleteURL(const std::string& url_in, std::string* url_out,
bool* result);