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

Unified Diff: ui/base/gestures/gesture_sequence.cc

Issue 10831295: gesture recognizer: Change the way a processed touch-release event is handled. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: tot-merge Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/aura/gestures/gesture_recognizer_unittest.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/base/gestures/gesture_sequence.cc
diff --git a/ui/base/gestures/gesture_sequence.cc b/ui/base/gestures/gesture_sequence.cc
index ea6c9cdf969ce8f74d0f324189f2a2690904610e..f29e2446b3239b968ee2bcbe8f67404e79ec894f 100644
--- a/ui/base/gestures/gesture_sequence.cc
+++ b/ui/base/gestures/gesture_sequence.cc
@@ -82,6 +82,9 @@ enum EdgeStateSignatureType {
GST_PENDING_SYNTHETIC_CLICK_FIRST_RELEASED =
G(GS_PENDING_SYNTHETIC_CLICK, 0, TS_RELEASED, TSI_NOT_PROCESSED),
+ GST_PENDING_SYNTHETIC_CLICK_FIRST_RELEASED_HANDLED =
+ G(GS_PENDING_SYNTHETIC_CLICK, 0, TS_RELEASED, TSI_PROCESSED),
+
// Ignore processed touch-move events until gesture-scroll starts.
GST_PENDING_SYNTHETIC_CLICK_FIRST_MOVED =
G(GS_PENDING_SYNTHETIC_CLICK, 0, TS_MOVED, TSI_NOT_PROCESSED),
@@ -90,20 +93,20 @@ enum EdgeStateSignatureType {
G(GS_PENDING_SYNTHETIC_CLICK, 0, TS_STATIONARY, TSI_NOT_PROCESSED),
GST_PENDING_SYNTHETIC_CLICK_FIRST_CANCELLED =
- G(GS_PENDING_SYNTHETIC_CLICK, 0, TS_CANCELLED, TSI_NOT_PROCESSED),
+ G(GS_PENDING_SYNTHETIC_CLICK, 0, TS_CANCELLED, TSI_ALWAYS),
GST_PENDING_SYNTHETIC_CLICK_SECOND_PRESSED =
G(GS_PENDING_SYNTHETIC_CLICK, 1, TS_PRESSED, TSI_NOT_PROCESSED),
GST_SCROLL_FIRST_RELEASED =
- G(GS_SCROLL, 0, TS_RELEASED, TSI_NOT_PROCESSED),
+ G(GS_SCROLL, 0, TS_RELEASED, TSI_ALWAYS),
// Once scroll has started, process all touch-move events.
GST_SCROLL_FIRST_MOVED =
G(GS_SCROLL, 0, TS_MOVED, TSI_ALWAYS),
GST_SCROLL_FIRST_CANCELLED =
- G(GS_SCROLL, 0, TS_CANCELLED, TSI_NOT_PROCESSED),
+ G(GS_SCROLL, 0, TS_CANCELLED, TSI_ALWAYS),
GST_SCROLL_SECOND_PRESSED =
G(GS_SCROLL, 1, TS_PRESSED, TSI_NOT_PROCESSED),
@@ -111,9 +114,15 @@ enum EdgeStateSignatureType {
GST_PENDING_TWO_FINGER_TAP_FIRST_RELEASED =
G(GS_PENDING_TWO_FINGER_TAP, 0, TS_RELEASED, TSI_NOT_PROCESSED),
+ GST_PENDING_TWO_FINGER_TAP_FIRST_RELEASED_HANDLED =
+ G(GS_PENDING_TWO_FINGER_TAP, 0, TS_RELEASED, TSI_PROCESSED),
+
GST_PENDING_TWO_FINGER_TAP_SECOND_RELEASED =
G(GS_PENDING_TWO_FINGER_TAP, 1, TS_RELEASED, TSI_NOT_PROCESSED),
+ GST_PENDING_TWO_FINGER_TAP_SECOND_RELEASED_HANDLED =
+ G(GS_PENDING_TWO_FINGER_TAP, 1, TS_RELEASED, TSI_PROCESSED),
+
GST_PENDING_TWO_FINGER_TAP_FIRST_MOVED =
G(GS_PENDING_TWO_FINGER_TAP, 0, TS_MOVED, TSI_ALWAYS),
@@ -121,10 +130,10 @@ enum EdgeStateSignatureType {
G(GS_PENDING_TWO_FINGER_TAP, 1, TS_MOVED, TSI_ALWAYS),
GST_PENDING_TWO_FINGER_TAP_FIRST_CANCELLED =
- G(GS_PENDING_TWO_FINGER_TAP, 0, TS_CANCELLED, TSI_NOT_PROCESSED),
+ G(GS_PENDING_TWO_FINGER_TAP, 0, TS_CANCELLED, TSI_ALWAYS),
GST_PENDING_TWO_FINGER_TAP_SECOND_CANCELLED =
- G(GS_PENDING_TWO_FINGER_TAP, 1, TS_CANCELLED, TSI_NOT_PROCESSED),
+ G(GS_PENDING_TWO_FINGER_TAP, 1, TS_CANCELLED, TSI_ALWAYS),
GST_PENDING_TWO_FINGER_TAP_THIRD_PRESSED =
G(GS_PENDING_TWO_FINGER_TAP, 2, TS_PRESSED, TSI_NOT_PROCESSED),
@@ -136,16 +145,16 @@ enum EdgeStateSignatureType {
G(GS_PINCH, 1, TS_MOVED, TSI_ALWAYS),
GST_PINCH_FIRST_RELEASED =
- G(GS_PINCH, 0, TS_RELEASED, TSI_NOT_PROCESSED),
+ G(GS_PINCH, 0, TS_RELEASED, TSI_ALWAYS),
GST_PINCH_SECOND_RELEASED =
- G(GS_PINCH, 1, TS_RELEASED, TSI_NOT_PROCESSED),
+ G(GS_PINCH, 1, TS_RELEASED, TSI_ALWAYS),
GST_PINCH_FIRST_CANCELLED =
- G(GS_PINCH, 0, TS_CANCELLED, TSI_NOT_PROCESSED),
+ G(GS_PINCH, 0, TS_CANCELLED, TSI_ALWAYS),
GST_PINCH_SECOND_CANCELLED =
- G(GS_PINCH, 1, TS_CANCELLED, TSI_NOT_PROCESSED),
+ G(GS_PINCH, 1, TS_CANCELLED, TSI_ALWAYS),
GST_PINCH_THIRD_PRESSED =
G(GS_PINCH, 2, TS_PRESSED, TSI_NOT_PROCESSED),
@@ -154,10 +163,10 @@ enum EdgeStateSignatureType {
G(GS_PINCH, 2, TS_MOVED, TSI_ALWAYS),
GST_PINCH_THIRD_RELEASED =
- G(GS_PINCH, 2, TS_RELEASED, TSI_NOT_PROCESSED),
+ G(GS_PINCH, 2, TS_RELEASED, TSI_ALWAYS),
GST_PINCH_THIRD_CANCELLED =
- G(GS_PINCH, 2, TS_CANCELLED, TSI_NOT_PROCESSED),
+ G(GS_PINCH, 2, TS_CANCELLED, TSI_ALWAYS),
GST_PINCH_FOURTH_PRESSED =
G(GS_PINCH, 3, TS_PRESSED, TSI_NOT_PROCESSED),
@@ -166,10 +175,10 @@ enum EdgeStateSignatureType {
G(GS_PINCH, 3, TS_MOVED, TSI_ALWAYS),
GST_PINCH_FOURTH_RELEASED =
- G(GS_PINCH, 3, TS_RELEASED, TSI_NOT_PROCESSED),
+ G(GS_PINCH, 3, TS_RELEASED, TSI_ALWAYS),
GST_PINCH_FOURTH_CANCELLED =
- G(GS_PINCH, 3, TS_CANCELLED, TSI_NOT_PROCESSED),
+ G(GS_PINCH, 3, TS_CANCELLED, TSI_ALWAYS),
GST_PINCH_FIFTH_PRESSED =
G(GS_PINCH, 4, TS_PRESSED, TSI_NOT_PROCESSED),
@@ -178,10 +187,10 @@ enum EdgeStateSignatureType {
G(GS_PINCH, 4, TS_MOVED, TSI_ALWAYS),
GST_PINCH_FIFTH_RELEASED =
- G(GS_PINCH, 4, TS_RELEASED, TSI_NOT_PROCESSED),
+ G(GS_PINCH, 4, TS_RELEASED, TSI_ALWAYS),
GST_PINCH_FIFTH_CANCELLED =
- G(GS_PINCH, 4, TS_CANCELLED, TSI_NOT_PROCESSED),
+ G(GS_PINCH, 4, TS_CANCELLED, TSI_ALWAYS),
};
// Builds a signature. Signatures are assembled by joining together
@@ -203,6 +212,7 @@ EdgeStateSignatureType Signature(GestureState gesture_state,
switch (signature) {
case GST_NO_GESTURE_FIRST_PRESSED:
case GST_PENDING_SYNTHETIC_CLICK_FIRST_RELEASED:
+ case GST_PENDING_SYNTHETIC_CLICK_FIRST_RELEASED_HANDLED:
case GST_PENDING_SYNTHETIC_CLICK_FIRST_MOVED:
case GST_PENDING_SYNTHETIC_CLICK_FIRST_STATIONARY:
case GST_PENDING_SYNTHETIC_CLICK_FIRST_CANCELLED:
@@ -212,7 +222,9 @@ EdgeStateSignatureType Signature(GestureState gesture_state,
case GST_SCROLL_FIRST_CANCELLED:
case GST_SCROLL_SECOND_PRESSED:
case GST_PENDING_TWO_FINGER_TAP_FIRST_RELEASED:
+ case GST_PENDING_TWO_FINGER_TAP_FIRST_RELEASED_HANDLED:
case GST_PENDING_TWO_FINGER_TAP_SECOND_RELEASED:
+ case GST_PENDING_TWO_FINGER_TAP_SECOND_RELEASED_HANDLED:
case GST_PENDING_TWO_FINGER_TAP_FIRST_MOVED:
case GST_PENDING_TWO_FINGER_TAP_SECOND_MOVED:
case GST_PENDING_TWO_FINGER_TAP_FIRST_CANCELLED:
@@ -356,6 +368,7 @@ GestureSequence::Gestures* GestureSequence::ProcessTouchEventForGesture(
point.UpdateForScroll();
}
break;
+ case GST_PENDING_SYNTHETIC_CLICK_FIRST_RELEASED_HANDLED:
case GST_PENDING_SYNTHETIC_CLICK_FIRST_CANCELLED:
set_state(GS_NO_GESTURE);
break;
@@ -391,6 +404,8 @@ GestureSequence::Gestures* GestureSequence::ProcessTouchEventForGesture(
if (TwoFingerTouchMove(event, point, gestures.get()))
set_state(GS_PINCH);
break;
+ case GST_PENDING_TWO_FINGER_TAP_FIRST_RELEASED_HANDLED:
+ case GST_PENDING_TWO_FINGER_TAP_SECOND_RELEASED_HANDLED:
case GST_PENDING_TWO_FINGER_TAP_FIRST_CANCELLED:
case GST_PENDING_TWO_FINGER_TAP_SECOND_CANCELLED:
scroll_type_ = ST_FREE;
« no previous file with comments | « ui/aura/gestures/gesture_recognizer_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698