diff options
author | yukawa@chromium.org <yukawa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-12-13 08:51:56 +0000 |
---|---|---|
committer | yukawa@chromium.org <yukawa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-12-13 08:51:56 +0000 |
commit | f45eb9cbb423bddaacfa84992a5a6fdef395993a (patch) | |
tree | e7e0dc88acb3e810188134aade1851806a44275a /win8/metro_driver/chrome_app_view_ash.h | |
parent | 9f13938449350a6f118b7cadd7a70055d1a74b05 (diff) | |
download | chromium_src-f45eb9cbb423bddaacfa84992a5a6fdef395993a.zip chromium_src-f45eb9cbb423bddaacfa84992a5a6fdef395993a.tar.gz chromium_src-f45eb9cbb423bddaacfa84992a5a6fdef395993a.tar.bz2 |
Ash: Tell the browser process of the visibility of IME's popup UI
This is one of supplemental CLs to port full Desktop IME features into Ash mode.
Rationale:
Some components in Chrome are interested in whether an IME is showing its own popup window such as the candidate window. OmniBox is one example (see Issue 326774). W3C IME API on which kochi@ is currently working also relies on this information.
Implementation memo:
This CL uses SetWinEventHook API to monitor the some accessibility events that are generated by IMEs. The parameters passed to SetWinEventHook are carefully chosen so the delegate is called back on the UI thread even when an IME generates the accessibility events on a background thread (actually MS-IME on Windows 8.1 seems to be doing this).
BUG=238585, 326774
TEST=manually done on Windows 8.1 with MS-IME Japanese
Review URL: https://codereview.chromium.org/101333006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@240555 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'win8/metro_driver/chrome_app_view_ash.h')
-rw-r--r-- | win8/metro_driver/chrome_app_view_ash.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/win8/metro_driver/chrome_app_view_ash.h b/win8/metro_driver/chrome_app_view_ash.h index 7517502..f657792 100644 --- a/win8/metro_driver/chrome_app_view_ash.h +++ b/win8/metro_driver/chrome_app_view_ash.h @@ -15,6 +15,7 @@ #include "base/strings/string16.h" #include "ui/events/event_constants.h" #include "win8/metro_driver/direct3d_helper.h" +#include "win8/metro_driver/ime/ime_popup_observer.h" #include "win8/metro_driver/ime/input_source_observer.h" #include "win8/metro_driver/ime/text_service_delegate.h" @@ -46,6 +47,7 @@ struct MetroViewerHostMsg_SaveAsDialogParams; class ChromeAppViewAsh : public mswr::RuntimeClass<winapp::Core::IFrameworkView>, + public metro_driver::ImePopupObserver, public metro_driver::InputSourceObserver, public metro_driver::TextServiceDelegate { public: @@ -105,6 +107,9 @@ class ChromeAppViewAsh private: + // ImePopupObserver overrides. + virtual void OnImePopupChanged(ImePopupObserver::EventType event) OVERRIDE; + // InputSourceObserver overrides. virtual void OnInputSourceChanged() OVERRIDE; |