summaryrefslogtreecommitdiffstats
path: root/ash
diff options
context:
space:
mode:
authormfomitchev@chromium.org <mfomitchev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-28 01:13:35 +0000
committermfomitchev@chromium.org <mfomitchev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-28 01:13:35 +0000
commite9ea140ab87b93ee044e45fcfb232f0145bc3c6c (patch)
tree20d5dec08abd564ada2b621c4017cd94a734a90d /ash
parent088a5c9a2f71b092534406e3e793d2f97984bcbb (diff)
downloadchromium_src-e9ea140ab87b93ee044e45fcfb232f0145bc3c6c.zip
chromium_src-e9ea140ab87b93ee044e45fcfb232f0145bc3c6c.tar.gz
chromium_src-e9ea140ab87b93ee044e45fcfb232f0145bc3c6c.tar.bz2
Implementing the dispatch of the swipe gesture for one-finger touch swipes.
BUG=377555 Review URL: https://codereview.chromium.org/302463004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@273097 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash')
-rw-r--r--ash/touch/touch_uma.cc95
-rw-r--r--ash/wm/gestures/overview_gesture_handler.cc2
-rw-r--r--ash/wm/toplevel_window_event_handler.cc5
3 files changed, 55 insertions, 47 deletions
diff --git a/ash/touch/touch_uma.cc b/ash/touch/touch_uma.cc
index db9f07e..b0d0932 100644
--- a/ash/touch/touch_uma.cc
+++ b/ash/touch/touch_uma.cc
@@ -24,41 +24,44 @@
namespace {
enum UMAEventType {
- UMA_ET_UNKNOWN,
- UMA_ET_TOUCH_RELEASED,
- UMA_ET_TOUCH_PRESSED,
- UMA_ET_TOUCH_MOVED,
- UMA_ET_TOUCH_STATIONARY, // Deprecated. Do not remove.
- UMA_ET_TOUCH_CANCELLED,
- UMA_ET_GESTURE_SCROLL_BEGIN,
- UMA_ET_GESTURE_SCROLL_END,
- UMA_ET_GESTURE_SCROLL_UPDATE,
- UMA_ET_GESTURE_TAP,
- UMA_ET_GESTURE_TAP_DOWN,
- UMA_ET_GESTURE_BEGIN,
- UMA_ET_GESTURE_END,
- UMA_ET_GESTURE_DOUBLE_TAP,
- UMA_ET_GESTURE_TRIPLE_TAP,
- UMA_ET_GESTURE_TWO_FINGER_TAP,
- UMA_ET_GESTURE_PINCH_BEGIN,
- UMA_ET_GESTURE_PINCH_END,
- UMA_ET_GESTURE_PINCH_UPDATE,
- UMA_ET_GESTURE_LONG_PRESS,
- UMA_ET_GESTURE_MULTIFINGER_SWIPE,
- UMA_ET_SCROLL,
- UMA_ET_SCROLL_FLING_START,
- UMA_ET_SCROLL_FLING_CANCEL,
- UMA_ET_GESTURE_MULTIFINGER_SWIPE_3,
- UMA_ET_GESTURE_MULTIFINGER_SWIPE_4P, // 4+ fingers
- UMA_ET_GESTURE_SCROLL_UPDATE_2,
- UMA_ET_GESTURE_SCROLL_UPDATE_3,
- UMA_ET_GESTURE_SCROLL_UPDATE_4P,
- UMA_ET_GESTURE_PINCH_UPDATE_3,
- UMA_ET_GESTURE_PINCH_UPDATE_4P,
- UMA_ET_GESTURE_LONG_TAP,
- UMA_ET_GESTURE_SHOW_PRESS,
- UMA_ET_GESTURE_TAP_CANCEL,
- UMA_ET_GESTURE_WIN8_EDGE_SWIPE,
+ // WARNING: Do not change the numerical values of any of these types.
+ // Do not remove deprecated types - just comment them as deprecated.
+ UMA_ET_UNKNOWN = 0,
+ UMA_ET_TOUCH_RELEASED = 1,
+ UMA_ET_TOUCH_PRESSED = 2,
+ UMA_ET_TOUCH_MOVED = 3,
+ UMA_ET_TOUCH_STATIONARY = 4, // Deprecated. Do not remove.
+ UMA_ET_TOUCH_CANCELLED = 5,
+ UMA_ET_GESTURE_SCROLL_BEGIN = 6,
+ UMA_ET_GESTURE_SCROLL_END = 7,
+ UMA_ET_GESTURE_SCROLL_UPDATE = 8,
+ UMA_ET_GESTURE_TAP = 9,
+ UMA_ET_GESTURE_TAP_DOWN = 10,
+ UMA_ET_GESTURE_BEGIN = 11,
+ UMA_ET_GESTURE_END = 12,
+ UMA_ET_GESTURE_DOUBLE_TAP = 13,
+ UMA_ET_GESTURE_TRIPLE_TAP = 14,
+ UMA_ET_GESTURE_TWO_FINGER_TAP = 15,
+ UMA_ET_GESTURE_PINCH_BEGIN = 16,
+ UMA_ET_GESTURE_PINCH_END = 17,
+ UMA_ET_GESTURE_PINCH_UPDATE = 18,
+ UMA_ET_GESTURE_LONG_PRESS = 19,
+ UMA_ET_GESTURE_SWIPE_2 = 20, // Swipe with 2 fingers
+ UMA_ET_SCROLL = 21,
+ UMA_ET_SCROLL_FLING_START = 22,
+ UMA_ET_SCROLL_FLING_CANCEL = 23,
+ UMA_ET_GESTURE_SWIPE_3 = 24, // Swipe with 3 fingers
+ UMA_ET_GESTURE_SWIPE_4P = 25, // Swipe with 4+ fingers
+ UMA_ET_GESTURE_SCROLL_UPDATE_2 = 26,
+ UMA_ET_GESTURE_SCROLL_UPDATE_3 = 27,
+ UMA_ET_GESTURE_SCROLL_UPDATE_4P = 28,
+ UMA_ET_GESTURE_PINCH_UPDATE_3 = 29,
+ UMA_ET_GESTURE_PINCH_UPDATE_4P = 30,
+ UMA_ET_GESTURE_LONG_TAP = 31,
+ UMA_ET_GESTURE_SHOW_PRESS = 32,
+ UMA_ET_GESTURE_TAP_CANCEL = 33,
+ UMA_ET_GESTURE_WIN8_EDGE_SWIPE = 34,
+ UMA_ET_GESTURE_SWIPE_1 = 35, // Swipe with 1 finger
// NOTE: Add new event types only immediately above this line. Make sure to
// update the UIEventType enum in tools/metrics/histograms/histograms.xml
// accordingly.
@@ -113,13 +116,13 @@ UMAEventType UMAEventTypeFromEvent(const ui::Event& event) {
case ui::ET_GESTURE_SCROLL_UPDATE: {
const ui::GestureEvent& gesture =
static_cast<const ui::GestureEvent&>(event);
- if (gesture.details().touch_points() >= 4)
- return UMA_ET_GESTURE_SCROLL_UPDATE_4P;
- else if (gesture.details().touch_points() == 3)
- return UMA_ET_GESTURE_SCROLL_UPDATE_3;
+ if (gesture.details().touch_points() == 1)
+ return UMA_ET_GESTURE_SCROLL_UPDATE;
else if (gesture.details().touch_points() == 2)
return UMA_ET_GESTURE_SCROLL_UPDATE_2;
- return UMA_ET_GESTURE_SCROLL_UPDATE;
+ else if (gesture.details().touch_points() == 3)
+ return UMA_ET_GESTURE_SCROLL_UPDATE_3;
+ return UMA_ET_GESTURE_SCROLL_UPDATE_4P;
}
case ui::ET_GESTURE_TAP: {
const ui::GestureEvent& gesture =
@@ -159,14 +162,16 @@ UMAEventType UMAEventTypeFromEvent(const ui::Event& event) {
return UMA_ET_GESTURE_LONG_PRESS;
case ui::ET_GESTURE_LONG_TAP:
return UMA_ET_GESTURE_LONG_TAP;
- case ui::ET_GESTURE_MULTIFINGER_SWIPE: {
+ case ui::ET_GESTURE_SWIPE: {
const ui::GestureEvent& gesture =
static_cast<const ui::GestureEvent&>(event);
- if (gesture.details().touch_points() >= 4)
- return UMA_ET_GESTURE_MULTIFINGER_SWIPE_4P;
+ if (gesture.details().touch_points() == 1)
+ return UMA_ET_GESTURE_SWIPE_1;
+ else if (gesture.details().touch_points() == 2)
+ return UMA_ET_GESTURE_SWIPE_2;
else if (gesture.details().touch_points() == 3)
- return UMA_ET_GESTURE_MULTIFINGER_SWIPE_3;
- return UMA_ET_GESTURE_MULTIFINGER_SWIPE;
+ return UMA_ET_GESTURE_SWIPE_3;
+ return UMA_ET_GESTURE_SWIPE_4P;
}
case ui::ET_GESTURE_WIN8_EDGE_SWIPE:
return UMA_ET_GESTURE_WIN8_EDGE_SWIPE;
diff --git a/ash/wm/gestures/overview_gesture_handler.cc b/ash/wm/gestures/overview_gesture_handler.cc
index 381941d..642f122 100644
--- a/ash/wm/gestures/overview_gesture_handler.cc
+++ b/ash/wm/gestures/overview_gesture_handler.cc
@@ -92,7 +92,7 @@ bool OverviewGestureHandler::ProcessGestureEvent(
}
if (!in_top_bezel_gesture_ ||
- event.type() != ui::ET_GESTURE_MULTIFINGER_SWIPE ||
+ event.type() != ui::ET_GESTURE_SWIPE ||
!event.details().swipe_down() ||
event.details().touch_points() != 3) {
return false;
diff --git a/ash/wm/toplevel_window_event_handler.cc b/ash/wm/toplevel_window_event_handler.cc
index f20a13f..5d9ce4b 100644
--- a/ash/wm/toplevel_window_event_handler.cc
+++ b/ash/wm/toplevel_window_event_handler.cc
@@ -344,7 +344,10 @@ void ToplevelWindowEventHandler::OnGestureEvent(ui::GestureEvent* event) {
}
event->StopPropagation();
return;
- case ui::ET_GESTURE_MULTIFINGER_SWIPE:
+ case ui::ET_GESTURE_SWIPE:
+ DCHECK_GT(event->details().touch_points(), 0);
+ if (event->details().touch_points() == 1)
+ return;
if (!wm::GetWindowState(target)->IsNormalOrSnapped())
return;