summaryrefslogtreecommitdiffstats
path: root/ui/aura/event.cc
Commit message (Collapse)AuthorAgeFilesLines
* aura: Implementation of queued/asynchronous gesture recognition.sadrul@chromium.org2012-01-281-0/+11
| | | | | | | | | | | | | | The major changes: * Rename existing GestureRecognizer to GestureSequence. * Add a new GestureRecognizer interface (with the same API as the previous GR). * Implement GestureRecognizerAura that uses GestureSequence(s) for recognition gestures. BUG=110230 TEST=aura_unittests:GestureRecognizerTest.AsynchronousGestureRecognition Review URL: https://chromiumcodereview.appspot.com/9129012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119533 0039d316-1c4b-4281-b951-d872f2087c98
* Use translated root location in WebInputEventoshima@chromium.org2012-01-261-9/+17
| | | | | | | | | | | | This adds root_location to LocatedEvent Converted a couple of tests to use EventGenerator. BUG=none TEST=added TranslatedEvent test to window_unittests. Review URL: http://codereview.chromium.org/9117018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119169 0039d316-1c4b-4281-b951-d872f2087c98
* aura: Move GestureRecognizer from views into aura.sadrul@chromium.org2012-01-191-0/+22
| | | | | | | | | | | Remove deprecated GestureManager, and move the functional GestureRecognizer from views into aura. BUG=110227 TEST=views_unittests:GestureEvent, aura_unittests:GestureRecognizerTest Review URL: https://chromiumcodereview.appspot.com/9255019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118200 0039d316-1c4b-4281-b951-d872f2087c98
* Mac Native Event copying missing under Auradhollowa@chromium.org2012-01-171-15/+24
| | | | | | | | | | | | Implements native event copying for NativeEvent/NSEvent under Mac/Aura. BUG=109946 TEST=Compiles and links under Mac/Aura. R=ben@chromium.org Review URL: https://chromiumcodereview.appspot.com/9244009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117981 0039d316-1c4b-4281-b951-d872f2087c98
* Use times from the initiation of events to determine whether twodavemoore@chromium.org2012-01-171-45/+91
| | | | | | | | | | | | | successive clicks should be considered a double click. Also implements triple click for web content in aura. BUG=None TEST=aura_unittests::EventTest.* Review URL: https://chromiumcodereview.appspot.com/9133013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117907 0039d316-1c4b-4281-b951-d872f2087c98
* Do not modify |native_event()->xkey.state| in GetUnmodifiedCharaceter.yusukes@chromium.org2012-01-051-6/+5
| | | | | | | | | | | | This is a partial revert of r107141. Since the revision, bits in |native_event()->xkey.state| for Control, Caps Lock, Alt, and Num Lock are cleared when GetUnmodifiedCharaceter() is called, but the behavior would't be desirable. This CL reverts the part so that the function would only modify a copy of XKeyEvent object. BUG=none TEST=ran try Review URL: http://codereview.chromium.org/8965022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116483 0039d316-1c4b-4281-b951-d872f2087c98
* Do not use ui::GetCharacterFromXEvent when Control is pressed.yusukes@chromium.org2012-01-051-2/+4
| | | | | | | | | | | | The function does not take into account the modifier. BUG=107837 TEST=see the bug Review URL: http://codereview.chromium.org/8968011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116451 0039d316-1c4b-4281-b951-d872f2087c98
* IME (input method editor) support for Aura, part 3 of 3: Use ui::InputMethod ↵yusukes@chromium.org2011-12-261-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in ash. Part 1: http://codereview.chromium.org/8659033/ Part 2: http://codereview.chromium.org/8687027/ The basic design of the feature is that to use an input method as an event filter for a KeyEvent, and to feed all KeyPress and KeyRelease events that are passed to the filter to the input method. The input method sends IME results (e.g. composition text) to RenderWidgetHostViewAura or NativeWidgetAura as needed. RenderWidgetHostViewAura: - Just like RWHVV, implements ui::TextInputClient interface so that RWHVA could receive an event such as 'SetComposition' and 'InsertChar' from an input method object owned by InputMethodEventFilter. - Sends 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: - Uses 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 Views UI (e.g. a text field). - InputMethodBridge also receives a request like 'CancelComposition' from the UI and forwards the request to ui::InputMethod. InputMethodEventFilter: - Creates and owns a ui::InputMethodIBus object. If IBus-1.4 is not available (e.g. Windows and Goobuntu), creates an instance of ui::MockInputMethod instead. - In PreHandleKeyEvent(), sends a KeyPress and KeyRelease event to the input method. - Implements ui::InputMethodDelegate interface so that InputMethodEventFilter could receive a translated key press and key release event (i.e. a key event translated by the IME) which has to be sent back to the root window. Note that the translated key event might be pre-handled by a global short-cut key event filter, otherwise is sent to NWA or RWHVA from the root window. Also note that a Char event is always sent directly from the input method to a TextInputClient. The ui::InputMethodDelegate is not used for that purpose. 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 input_method_event_filter_unittests.cc Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=113224 Review URL: http://codereview.chromium.org/8576005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115778 0039d316-1c4b-4281-b951-d872f2087c98
* Copy native event when creating new NativeWebKeyboardEventoshima@chromium.org2011-12-161-3/+35
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/8961006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114837 0039d316-1c4b-4281-b951-d872f2087c98
* CMT can now generate motion events w/ valuators instead of a sequence of ↵davemoore@chromium.org2011-12-151-0/+5
| | | | | | | | | | | button events. This supports them BUG=None TEST=None Review URL: http://codereview.chromium.org/8907005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114660 0039d316-1c4b-4281-b951-d872f2087c98
* Rename ui::DefaultSymbolFromXEvent to ui::GetCharacterFromXEvent following ↵yusukes@chromium.org2011-12-081-2/+2
| | | | | | | | | | | | | | suzhe's suggestion. The new name would be more consistent since other functions that return a Unicode code point use ui::GetCharacterXXX. For example, keyboard_code_conversion.h has ui::GetCharacterFromKeyCode. BUG=None TEST=ran try Review URL: http://codereview.chromium.org/8802002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113586 0039d316-1c4b-4281-b951-d872f2087c98
* aura: Detect double clicks and set ui::EF_IS_DOUBLE_CLICK appropriately.sadrul@chromium.org2011-12-011-0/+43
| | | | | | | | | | BUG=105958 TEST=manually, double clicked title bar of a window in aura_shell. The window maximized. Review URL: http://codereview.chromium.org/8763020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112486 0039d316-1c4b-4281-b951-d872f2087c98
* Port views::KeyEvent functions to aura::KeyEvent.yusukes@chromium.org2011-11-161-2/+69
| | | | | | | | | | | | They will be used for adding IME support to Aura. BUG=chromium:97261 TEST=try Review URL: http://codereview.chromium.org/8567021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110288 0039d316-1c4b-4281-b951-d872f2087c98
* Aura: Resize cursors show properly when hovering over window framejamescook@chromium.org2011-11-091-1/+3
| | | | | | | | | | | | | + Set the cursor in the desktop's event filter. + Add the ui::EF_IS_NON_CLIENT flag to mouse events when needed, so views doesn't override the cursor. + Move views/window/hit_test.h to ui/base/hit_test.h and remove the extra copy in ui/aura. BUG=103298 TEST=move cursor over desktop, window edges, window client area Review URL: http://codereview.chromium.org/8501018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109278 0039d316-1c4b-4281-b951-d872f2087c98
* aura: Add transform support to Desktop.sadrul@chromium.org2011-10-201-0/+8
| | | | | | | | | | | For painting, the transform gets applied to the root layer of the compositor. For testing purposes, ctrl+Home is set to rotate the desktop (this can be made better when there's hotkey support). BUG=100600 TEST=none Review URL: http://codereview.chromium.org/8329019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106594 0039d316-1c4b-4281-b951-d872f2087c98
* Get KeyEvents to limp in Aura. This assumes the desktop host is going to ↵ben@chromium.org2011-10-191-3/+5
| | | | | | | | | | send two aura::KeyEvents for every keydown - one raw key down, and one char. They share the same ET, but the first has is_char = false, the second is_char = true. http://crbug.com/99757 TEST=none Review URL: http://codereview.chromium.org/8342026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106374 0039d316-1c4b-4281-b951-d872f2087c98
* aura: Add support for touch events.sadrul@chromium.org2011-10-171-0/+31
| | | | | | | | | | | | | | Among the changes: . Add touch event handling in EventFilter. Be default, activates a window on TOUCH_START (like for MOUSE_PRESSED). . Move TouchEvent details functions into ui/. Moved the X11 implementations from views/ to ui/. NOTIMPLEMENTED on windows. . Disable RWHVAura et. al. for touchui for now (they are still compiled in, but not used). BUG=100269 TEST=none Review URL: http://codereview.chromium.org/8274025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105816 0039d316-1c4b-4281-b951-d872f2087c98
* Consolidate ui::NativeEvent and base::NativeEventoshima@google.com2011-10-051-6/+7
| | | | | | | | | | | Note: I didn't add Wayland version of NativeEvent because the type is defined in ui, which base shouldn't depend on. I looked at the original CL and this typedef in message_pump_wayland seems to be added after reviewer gave LGTM. BUG=none TEST=none Review URL: http://codereview.chromium.org/8113028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104123 0039d316-1c4b-4281-b951-d872f2087c98
* Consolidate/cleanup event cracking code; single out GdkEvents; saves ~850 lines.msw@chromium.org2011-09-261-1/+27
| | | | | | | | | | | | | | | | | | | | | Move ui::NativeEvent typdefs and common functions to ui/base/events.h. Remove NativeEvent2 typedef, single out GdkEvent* uses that should be removed. Implement platform specific ui/base/[platform]/events_[platform].cc. Revise views::NativeEvent definitions (to support Aura abstraction). Consolidate Event[Type/Flags/Location]FromNative(), GetMouseWheelOffset(), etc. Remove GetRepeatCount(), GetWindowsFlags(), IsExtendedKey(), etc. Add IsMouseEvent(), KeyboardCodeFromNative(), EF_EXTENDED flag, etc. Localize GetFlagsFromGdkEvent(), move some file locals to new helpers files. Move views/touchui/touch_factory.h|cc to ui/base/touch. Stop mixing Windows mouse events' MK_*BUTTON into their wParams. BUG=93945 TEST=No build breaks (many configs...), no mouse/key behavior changes. Review URL: http://codereview.chromium.org/7942004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102815 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for MouseEnter/MouseExit event types to be sent to aura::Windows.ben@chromium.org2011-09-211-0/+8
| | | | | | | | BUG=none TEST=see unittest Review URL: http://codereview.chromium.org/7983039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102168 0039d316-1c4b-4281-b951-d872f2087c98
* Move Aura to UI subdir.ben@chromium.org2011-09-141-0/+66
BUG=none TEST=none TBR=sky Review URL: http://codereview.chromium.org/7886042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101156 0039d316-1c4b-4281-b951-d872f2087c98