|
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.
Total comments: 20
Total comments: 8
Total comments: 21
|
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
|
Total messages: 24 (0 generated)
|