diff options
author | hbono@chromium.org <hbono@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-04 10:39:23 +0000 |
---|---|---|
committer | hbono@chromium.org <hbono@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-04 10:39:23 +0000 |
commit | e6ae0f6c421776ee0a22af793469bd892876f9ee (patch) | |
tree | 4f43ac40627e7d8f7feb8b7ef84df057a70cc1e4 /content/renderer/webplugin_delegate_proxy.h | |
parent | 75a82ff9193029ffc228b2ce0a5cdecc5ce728f3 (diff) | |
download | chromium_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.h | 13 |
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); |