From d386ba0e78a3f811e299458f06be6a2328a7eb51 Mon Sep 17 00:00:00 2001 From: "ben@chromium.org" Date: Tue, 6 Dec 2011 21:27:16 +0000 Subject: Revert 113224 - IME (input method editor) support for Aura, part 3 of 3: Use ui::InputMethod in ui/aura/. Part 1: http://codereview.chromium.org/8659033/ Part 2: http://codereview.chromium.org/8687027/ The basic design of the feature is that to add an input method object to DesktopHost to feed all KeyPress and KeyRelease events from the system message loop to the input method, and let the input method send IME results (e.g. composition text) to RenderWidgetHostViewAura or NativeWidgetAura as needed. RenderWidgetHostViewAura: - Just like RWHVV, implement ui::TextInputClient interface so that RWHVA could receive an event such as 'SetComposition' and 'InsertChar' from an input method object owned by DesktopHost. - Send a notification to the input method object on focus, blur, text input type change, etc. - OnKeyEvent() handler is now able to handle a non-native key event, e.g. a VKEY_PROCESSKEY event, which is fabricated by the input method editor. NativeWidgetAura: - Use views::InputMethodBridge instead of views::InputMethodIBus. - InputMethodBridge, which implements ui::TextInputClient interface, just receives IME results (e.g. composition text) from ui::InputMethod and forwards them to UI (e.g. a text field). - InputMethodBridge also receives a request like 'CancelComposition' from the UI and forwards the request to ui::InputMethod. DesktopHostLinux: - Creates and owns a ui::InputMethodIBusAura object. If IBus-1.4 is not available (e.g. Goobuntu), creates an instance of ui::MockInputMethod. - In Dispatch(), send a KeyPress and KeyRelease aura event to the input method. - Implement ui::InputMethodDelegate interface so that DesktopHostLinux could receive an key press and key release event which should be sent to NWA or RWHVA. Note that an "is_char" event is always sent directly from the input method to a TextInputClient. the ui::InputMethodDelegate is not used for that purpose. - ShouldSendCharEventForKeyboardCode() is moved to ui::InputMethod since DesktopHostLinux no longer generates a Char event. DesktopHostWin: - IME is not supported yet. Supported platforms: - Aura + Chrome OS (IME works!) - Aura + Chrome OS + TOUCH_UI (compiles, but virtual keyboard is not shown since views::TextInputTypeTracker is not ported to Aura yet.) - Aura + Linux, with and without IBus-1.4 - Aura + Windows (compiles, but IME does not work. views::InputMethodWin is not ported to Aura yet.) BUG=97261 TEST=ran aura_unittests Review URL: http://codereview.chromium.org/8576005 TBR=yusukes@chromium.org Review URL: http://codereview.chromium.org/8824007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113259 0039d316-1c4b-4281-b951-d872f2087c98 --- ui/aura/aura.gyp | 8 -------- 1 file changed, 8 deletions(-) (limited to 'ui/aura/aura.gyp') diff --git a/ui/aura/aura.gyp b/ui/aura/aura.gyp index c87ce3e..6d98b42 100644 --- a/ui/aura/aura.gyp +++ b/ui/aura/aura.gyp @@ -53,13 +53,6 @@ 'window_observer.h', 'window_types.h', ], - 'conditions': [ - ['use_ibus==1', { - 'dependencies': [ - '../../build/linux/system.gyp:ibus', - ], - }], - ], }, { 'target_name': 'test_support_aura', @@ -138,7 +131,6 @@ 'test/run_all_unittests.cc', 'test/test_suite.cc', 'test/test_suite.h', - 'desktop_host_ime_unittest.cc', 'desktop_unittest.cc', 'event_filter_unittest.cc', 'window_unittest.cc', -- cgit v1.1