Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6)

Issue 9773024: This patch implements Chromium's Aura gesture recognizer in terms of utouch-grail and utouch-frame … (Closed)

Created:
8 years, 9 months ago by thomas.voss
Modified:
8 years, 2 months ago
CC:
chromium-reviews, yusukes+watch_chromium.org, ben+watch_chromium.org, dhollowa+watch_chromium.org, penghuang+watch_chromium.org, joi+watch-content_chromium.org, darin-cc_chromium.org, brettw-cc_chromium.org, James Su, tfarina, tony
Base URL:
https://src.chromium.org/svn/trunk/src/
Visibility:
Public.

Description

This patch implements Chromium's Aura gesture recognizer in terms of utouch-grail and utouch-frame (see [1] and [2]), both part of Canonical's touch/gesture stack. Moreover, the patch extends Chromium's touch-handling capabilities to non-direct touch devices, e.g., Apple's Magic Trackpad. The following gestures are recognized: (1.) Two-finger drag (2.) Two-finger pinch (3.) Tap (4.) Double Tap Gestures (1.), (3.) and (4.) are already wired up to actions on the UI (part of the chromium code base). Gesture (2.) is recognized by utouch-grail and all its properties including the corresponding affine 3x3 transformation matrix are reported. However, code paths for pixel-perfect and continuous zooming are currently missing and our demonstration is limited in this respect. However, once the necessary plumbing becomes available in chromium, pinch-to-zoom works out-of-the-box. Finally, we added an abstraction of touch devices and their respective capabilities to provide a proof-of-concept for isolating away from platform-specific touch-stacks and thus, for the portability of utouch-frame and utouch-grail. Please note that this patch requires an up-to-date xserver that supports XI 2.2. Gyp flags: * build/gyp_chromium -Duse_xi2_mt=2 -Duse_aura=1 We developed and tested the patch under Ubuntu 12.04 (Precise Pangolin) Beta 1. Please see https://wiki.ubuntu.com/Multitouch/CurrentWork/ChromiumTouch for a more detailed description of the patch.

Patch Set 1 #

Total comments: 20

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : #

Total comments: 8

Patch Set 5 : #

Total comments: 21

Patch Set 6 : #

Patch Set 7 : #

Patch Set 8 : #

Patch Set 9 : #

Patch Set 10 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+7556 lines, -69 lines) Patch
M AUTHORS View 1 chunk +3 lines, -0 lines 0 comments Download
M DEPS View 1 2 3 4 5 2 chunks +10 lines, -1 line 0 comments Download
M base/message_pump_x.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M build/install-build-deps.sh View 1 chunk +1 line, -1 line 0 comments Download
M chrome/chrome_browser.gypi View 1 2 3 4 5 1 chunk +6 lines, -0 lines 0 comments Download
M content/browser/renderer_host/web_input_event_aurax11.cc View 3 chunks +9 lines, -4 lines 0 comments Download
M content/plugin/plugin_thread.cc View 1 1 chunk +3 lines, -1 line 0 comments Download
M content/utility/utility_thread_impl.cc View 1 1 chunk +5 lines, -0 lines 0 comments Download
M ui/aura/aura.gyp View 1 2 3 4 5 5 chunks +61 lines, -8 lines 0 comments Download
M ui/aura/event.h View 1 2 3 4 5 2 chunks +38 lines, -8 lines 0 comments Download
M ui/aura/event.cc View 1 2 3 4 2 chunks +3 lines, -6 lines 0 comments Download
A ui/aura/gestures/apple_magic_trackpad/device.prop View 1 2 3 4 5 1 chunk +32 lines, -0 lines 0 comments Download
A ui/aura/gestures/apple_magic_trackpad/two_finger_double_tap.record View 1 2 3 4 5 1 chunk +713 lines, -0 lines 0 comments Download
A ui/aura/gestures/apple_magic_trackpad/two_finger_drag.record View 1 2 3 4 5 1 chunk +1896 lines, -0 lines 0 comments Download
A ui/aura/gestures/apple_magic_trackpad/two_finger_long_press.record View 1 2 3 4 5 1 chunk +965 lines, -0 lines 0 comments Download
A ui/aura/gestures/apple_magic_trackpad/two_finger_pinch.record View 1 2 3 4 5 1 chunk +1896 lines, -0 lines 0 comments Download
A ui/aura/gestures/apple_magic_trackpad/two_finger_tap.record View 1 2 3 4 5 1 chunk +65 lines, -0 lines 0 comments Download
A ui/aura/gestures/gesture_recognizer_grail.h View 1 2 3 4 5 1 chunk +57 lines, -0 lines 0 comments Download
A ui/aura/gestures/gesture_recognizer_grail.cc View 1 2 3 4 5 6 7 8 9 1 chunk +494 lines, -0 lines 0 comments Download
A ui/aura/gestures/gesture_recognizer_grail_unittest.cc View 1 2 3 4 5 6 7 1 chunk +581 lines, -0 lines 0 comments Download
M ui/aura/gestures/gesture_recognizer_unittest.cc View 1 2 3 4 5 3 chunks +7 lines, -3 lines 0 comments Download
M ui/aura/gestures/gesture_sequence.cc View 1 2 3 4 10 chunks +30 lines, -10 lines 0 comments Download
M ui/aura/root_window.h View 1 2 3 4 5 6 7 8 9 3 chunks +5 lines, -1 line 0 comments Download
M ui/aura/root_window.cc View 1 2 3 4 5 6 7 8 9 1 chunk +4 lines, -0 lines 0 comments Download
M ui/aura/root_window_host.h View 1 2 3 4 5 6 7 8 9 2 chunks +6 lines, -0 lines 0 comments Download
M ui/aura/root_window_host_linux.h View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -0 lines 0 comments Download
M ui/aura/root_window_host_linux.cc View 1 2 3 4 5 6 7 8 9 2 chunks +9 lines, -0 lines 0 comments Download
M ui/base/ime/ibus_client.h View 1 chunk +1 line, -1 line 0 comments Download
A ui/base/touch/axis.h View 1 2 1 chunk +98 lines, -0 lines 0 comments Download
A ui/base/touch/axis.cc View 1 2 1 chunk +27 lines, -0 lines 0 comments Download
A ui/base/touch/multi_touch_device.h View 1 2 1 chunk +114 lines, -0 lines 0 comments Download
A ui/base/touch/multi_touch_device.cc View 1 2 1 chunk +22 lines, -0 lines 0 comments Download
A ui/base/touch/multi_touch_device_x11.h View 1 2 3 1 chunk +23 lines, -0 lines 0 comments Download
A ui/base/touch/multi_touch_device_x11.cc View 1 2 1 chunk +149 lines, -0 lines 0 comments Download
M ui/base/touch/touch_factory.h View 1 2 3 4 5 6 7 8 9 9 chunks +62 lines, -5 lines 0 comments Download
M ui/base/touch/touch_factory.cc View 1 2 3 4 5 6 7 8 9 18 chunks +141 lines, -19 lines 0 comments Download
M ui/ui.gyp View 1 2 3 4 5 3 chunks +18 lines, -0 lines 0 comments Download

Messages

Total messages: 24 (0 generated)
thomas.voss
Please find a more detailed description in: https://wiki.ubuntu.com/Multitouch/CurrentWork/ChromiumTouch
8 years, 9 months ago (2012-03-28 15:57:51 UTC) #1
tfarina
http://chromiumcodereview.appspot.com/9773024/diff/1/ui/gfx/size.cc File ui/gfx/size.cc (right): http://chromiumcodereview.appspot.com/9773024/diff/1/ui/gfx/size.cc#newcode55 ui/gfx/size.cc:55: // NOTREACHED() << "negative width:" << width; please, revert ...
8 years, 9 months ago (2012-03-28 16:16:04 UTC) #2
tfarina
http://chromiumcodereview.appspot.com/9773024/diff/1/ui/base/touch/multi_touch_device.h File ui/base/touch/multi_touch_device.h (right): http://chromiumcodereview.appspot.com/9773024/diff/1/ui/base/touch/multi_touch_device.h#newcode4 ui/base/touch/multi_touch_device.h:4: #ifndef UI_BASE_TOUCH_MULTI_TOUCH_DEVICE_H_ add a blank line above. http://chromiumcodereview.appspot.com/9773024/diff/1/ui/base/touch/multi_touch_device.h#newcode6 ui/base/touch/multi_touch_device.h:6: ...
8 years, 9 months ago (2012-03-28 16:19:47 UTC) #3
Elliot Glaysher
+jam (content), +sky (general aura master) http://chromiumcodereview.appspot.com/9773024/diff/1/base/message_pump_x.cc File base/message_pump_x.cc (right): http://chromiumcodereview.appspot.com/9773024/diff/1/base/message_pump_x.cc#newcode12 base/message_pump_x.cc:12: #include <iostream> This ...
8 years, 9 months ago (2012-03-28 17:48:59 UTC) #4
jam
i defer my content lgtm to erg
8 years, 9 months ago (2012-03-28 19:42:55 UTC) #5
sky
I only briefly looked at this. Sadrul and Robert know more about the touch/gesture events ...
8 years, 9 months ago (2012-03-28 20:30:36 UTC) #6
thomas.voss
On 2012/03/28 20:30:36, sky wrote: > I only briefly looked at this. Sadrul and Robert ...
8 years, 8 months ago (2012-03-29 10:15:52 UTC) #7
thomas.voss
On 2012/03/28 17:48:59, Elliot Glaysher wrote: > +jam (content), +sky (general aura master) > > ...
8 years, 8 months ago (2012-03-29 10:20:49 UTC) #8
thomas.voss
On 2012/03/28 16:19:47, tfarina wrote: > http://chromiumcodereview.appspot.com/9773024/diff/1/ui/base/touch/multi_touch_device.h > File ui/base/touch/multi_touch_device.h (right): > > http://chromiumcodereview.appspot.com/9773024/diff/1/ui/base/touch/multi_touch_device.h#newcode4 > ...
8 years, 8 months ago (2012-03-29 10:23:43 UTC) #9
thomas.voss
Updated the patch set according to comments.
8 years, 8 months ago (2012-03-29 10:39:56 UTC) #10
tdresser
Unit tests? http://codereview.chromium.org/9773024/diff/15008/chrome/chrome_browser.gypi File chrome/chrome_browser.gypi (right): http://codereview.chromium.org/9773024/diff/15008/chrome/chrome_browser.gypi#newcode4329 chrome/chrome_browser.gypi:4329: '../build/linux/system.gyp:frame', Alphabetize. http://codereview.chromium.org/9773024/diff/15008/ui/aura/aura.gyp File ui/aura/aura.gyp (left): http://codereview.chromium.org/9773024/diff/15008/ui/aura/aura.gyp#oldcode66 ...
8 years, 8 months ago (2012-03-29 17:44:38 UTC) #11
thomas.voss
On 2012/03/29 17:44:38, tdresser wrote: > Unit tests? > Working on that and trying to ...
8 years, 8 months ago (2012-04-02 09:12:19 UTC) #12
thomas.voss
Updated patch set according to comments. Introduced a gyp-flag use_utouch and re-factored parts of the ...
8 years, 8 months ago (2012-04-02 09:14:01 UTC) #13
rjkroege
Some starting point questions inline. My larger question: how do we manage the grail dependency? ...
8 years, 8 months ago (2012-04-02 17:05:15 UTC) #14
sadrul
I left some comments. But I haven't really gone through all of the changes. This ...
8 years, 8 months ago (2012-04-03 19:52:01 UTC) #15
thomas.voss
On 2012/04/02 17:05:15, rjkroege wrote: > Some starting point questions inline. > > My larger ...
8 years, 8 months ago (2012-04-05 13:36:57 UTC) #16
thomas.voss
On 2012/04/03 19:52:01, sadrul wrote: > I left some comments. But I haven't really gone ...
8 years, 8 months ago (2012-04-05 14:15:54 UTC) #17
thomas.voss
Updated the patch set merging in comments from rjkroege and sadrul. Some of sadrul's comments ...
8 years, 8 months ago (2012-04-05 15:41:36 UTC) #18
Elliot Glaysher
ping sadrul (Sorry that this fell on the floor, Thomas)
8 years, 8 months ago (2012-04-19 19:47:37 UTC) #19
sadrul
On 2012/04/19 19:47:37, Elliot Glaysher wrote: > ping sadrul > > (Sorry that this fell ...
8 years, 8 months ago (2012-04-19 19:53:58 UTC) #20
Elliot Glaysher
On 2012/04/19 19:53:58, sadrul wrote: > On 2012/04/19 19:47:37, Elliot Glaysher wrote: > > ping ...
8 years, 8 months ago (2012-04-19 20:14:48 UTC) #21
thomas.voss
On 2012/04/19 19:53:58, sadrul wrote: > On 2012/04/19 19:47:37, Elliot Glaysher wrote: > > ping ...
8 years, 8 months ago (2012-04-20 13:33:05 UTC) #22
thomas.voss
On 2012/04/19 20:14:48, Elliot Glaysher wrote: > On 2012/04/19 19:53:58, sadrul wrote: > > On ...
8 years, 8 months ago (2012-04-20 13:35:04 UTC) #23
sadrul
8 years, 8 months ago (2012-04-20 13:53:28 UTC) #24
On 2012/04/20 13:33:05, thomas.voss wrote:
> On 2012/04/19 19:53:58, sadrul wrote:
> > On 2012/04/19 19:47:37, Elliot Glaysher wrote:
> > > ping sadrul
> > > 
> > > (Sorry that this fell on the floor, Thomas)
> > 
> > Ah, my bad. I was under the impression that this will need to be updated
first
> > (the GR code has moved into ui/base/ from ui/aura/, and #18 gave me the
> > impression that this isn't ready for review yet).
> 
> Sorry, my bad. The only outstanding change is "get rid of all of the
enumerated
> types for modelling axes". This is still on my plate but ready to go either
> today or monday.

Could you please merge with ToT? (Much of the gesture-recognizer code has moved
into ui/base/ from ui/aura, as per my comment above, and the email I sent you
when I was doing the refactoring)

Powered by Google App Engine
This is Rietveld 408576698