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

Side by Side 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ui/aura/gestures/gesture_recognizer_unittest.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ui/base/gestures/gesture_sequence.h" 5 #include "ui/base/gestures/gesture_sequence.h"
6 6
7 #include <cmath> 7 #include <cmath>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 75
76 enum EdgeStateSignatureType { 76 enum EdgeStateSignatureType {
77 GST_INVALID = -1, 77 GST_INVALID = -1,
78 78
79 GST_NO_GESTURE_FIRST_PRESSED = 79 GST_NO_GESTURE_FIRST_PRESSED =
80 G(GS_NO_GESTURE, 0, TS_PRESSED, TSI_NOT_PROCESSED), 80 G(GS_NO_GESTURE, 0, TS_PRESSED, TSI_NOT_PROCESSED),
81 81
82 GST_PENDING_SYNTHETIC_CLICK_FIRST_RELEASED = 82 GST_PENDING_SYNTHETIC_CLICK_FIRST_RELEASED =
83 G(GS_PENDING_SYNTHETIC_CLICK, 0, TS_RELEASED, TSI_NOT_PROCESSED), 83 G(GS_PENDING_SYNTHETIC_CLICK, 0, TS_RELEASED, TSI_NOT_PROCESSED),
84 84
85 GST_PENDING_SYNTHETIC_CLICK_FIRST_RELEASED_HANDLED =
86 G(GS_PENDING_SYNTHETIC_CLICK, 0, TS_RELEASED, TSI_PROCESSED),
87
85 // Ignore processed touch-move events until gesture-scroll starts. 88 // Ignore processed touch-move events until gesture-scroll starts.
86 GST_PENDING_SYNTHETIC_CLICK_FIRST_MOVED = 89 GST_PENDING_SYNTHETIC_CLICK_FIRST_MOVED =
87 G(GS_PENDING_SYNTHETIC_CLICK, 0, TS_MOVED, TSI_NOT_PROCESSED), 90 G(GS_PENDING_SYNTHETIC_CLICK, 0, TS_MOVED, TSI_NOT_PROCESSED),
88 91
89 GST_PENDING_SYNTHETIC_CLICK_FIRST_STATIONARY = 92 GST_PENDING_SYNTHETIC_CLICK_FIRST_STATIONARY =
90 G(GS_PENDING_SYNTHETIC_CLICK, 0, TS_STATIONARY, TSI_NOT_PROCESSED), 93 G(GS_PENDING_SYNTHETIC_CLICK, 0, TS_STATIONARY, TSI_NOT_PROCESSED),
91 94
92 GST_PENDING_SYNTHETIC_CLICK_FIRST_CANCELLED = 95 GST_PENDING_SYNTHETIC_CLICK_FIRST_CANCELLED =
93 G(GS_PENDING_SYNTHETIC_CLICK, 0, TS_CANCELLED, TSI_NOT_PROCESSED), 96 G(GS_PENDING_SYNTHETIC_CLICK, 0, TS_CANCELLED, TSI_ALWAYS),
94 97
95 GST_PENDING_SYNTHETIC_CLICK_SECOND_PRESSED = 98 GST_PENDING_SYNTHETIC_CLICK_SECOND_PRESSED =
96 G(GS_PENDING_SYNTHETIC_CLICK, 1, TS_PRESSED, TSI_NOT_PROCESSED), 99 G(GS_PENDING_SYNTHETIC_CLICK, 1, TS_PRESSED, TSI_NOT_PROCESSED),
97 100
98 GST_SCROLL_FIRST_RELEASED = 101 GST_SCROLL_FIRST_RELEASED =
99 G(GS_SCROLL, 0, TS_RELEASED, TSI_NOT_PROCESSED), 102 G(GS_SCROLL, 0, TS_RELEASED, TSI_ALWAYS),
100 103
101 // Once scroll has started, process all touch-move events. 104 // Once scroll has started, process all touch-move events.
102 GST_SCROLL_FIRST_MOVED = 105 GST_SCROLL_FIRST_MOVED =
103 G(GS_SCROLL, 0, TS_MOVED, TSI_ALWAYS), 106 G(GS_SCROLL, 0, TS_MOVED, TSI_ALWAYS),
104 107
105 GST_SCROLL_FIRST_CANCELLED = 108 GST_SCROLL_FIRST_CANCELLED =
106 G(GS_SCROLL, 0, TS_CANCELLED, TSI_NOT_PROCESSED), 109 G(GS_SCROLL, 0, TS_CANCELLED, TSI_ALWAYS),
107 110
108 GST_SCROLL_SECOND_PRESSED = 111 GST_SCROLL_SECOND_PRESSED =
109 G(GS_SCROLL, 1, TS_PRESSED, TSI_NOT_PROCESSED), 112 G(GS_SCROLL, 1, TS_PRESSED, TSI_NOT_PROCESSED),
110 113
111 GST_PENDING_TWO_FINGER_TAP_FIRST_RELEASED = 114 GST_PENDING_TWO_FINGER_TAP_FIRST_RELEASED =
112 G(GS_PENDING_TWO_FINGER_TAP, 0, TS_RELEASED, TSI_NOT_PROCESSED), 115 G(GS_PENDING_TWO_FINGER_TAP, 0, TS_RELEASED, TSI_NOT_PROCESSED),
113 116
117 GST_PENDING_TWO_FINGER_TAP_FIRST_RELEASED_HANDLED =
118 G(GS_PENDING_TWO_FINGER_TAP, 0, TS_RELEASED, TSI_PROCESSED),
119
114 GST_PENDING_TWO_FINGER_TAP_SECOND_RELEASED = 120 GST_PENDING_TWO_FINGER_TAP_SECOND_RELEASED =
115 G(GS_PENDING_TWO_FINGER_TAP, 1, TS_RELEASED, TSI_NOT_PROCESSED), 121 G(GS_PENDING_TWO_FINGER_TAP, 1, TS_RELEASED, TSI_NOT_PROCESSED),
116 122
123 GST_PENDING_TWO_FINGER_TAP_SECOND_RELEASED_HANDLED =
124 G(GS_PENDING_TWO_FINGER_TAP, 1, TS_RELEASED, TSI_PROCESSED),
125
117 GST_PENDING_TWO_FINGER_TAP_FIRST_MOVED = 126 GST_PENDING_TWO_FINGER_TAP_FIRST_MOVED =
118 G(GS_PENDING_TWO_FINGER_TAP, 0, TS_MOVED, TSI_ALWAYS), 127 G(GS_PENDING_TWO_FINGER_TAP, 0, TS_MOVED, TSI_ALWAYS),
119 128
120 GST_PENDING_TWO_FINGER_TAP_SECOND_MOVED = 129 GST_PENDING_TWO_FINGER_TAP_SECOND_MOVED =
121 G(GS_PENDING_TWO_FINGER_TAP, 1, TS_MOVED, TSI_ALWAYS), 130 G(GS_PENDING_TWO_FINGER_TAP, 1, TS_MOVED, TSI_ALWAYS),
122 131
123 GST_PENDING_TWO_FINGER_TAP_FIRST_CANCELLED = 132 GST_PENDING_TWO_FINGER_TAP_FIRST_CANCELLED =
124 G(GS_PENDING_TWO_FINGER_TAP, 0, TS_CANCELLED, TSI_NOT_PROCESSED), 133 G(GS_PENDING_TWO_FINGER_TAP, 0, TS_CANCELLED, TSI_ALWAYS),
125 134
126 GST_PENDING_TWO_FINGER_TAP_SECOND_CANCELLED = 135 GST_PENDING_TWO_FINGER_TAP_SECOND_CANCELLED =
127 G(GS_PENDING_TWO_FINGER_TAP, 1, TS_CANCELLED, TSI_NOT_PROCESSED), 136 G(GS_PENDING_TWO_FINGER_TAP, 1, TS_CANCELLED, TSI_ALWAYS),
128 137
129 GST_PENDING_TWO_FINGER_TAP_THIRD_PRESSED = 138 GST_PENDING_TWO_FINGER_TAP_THIRD_PRESSED =
130 G(GS_PENDING_TWO_FINGER_TAP, 2, TS_PRESSED, TSI_NOT_PROCESSED), 139 G(GS_PENDING_TWO_FINGER_TAP, 2, TS_PRESSED, TSI_NOT_PROCESSED),
131 140
132 GST_PINCH_FIRST_MOVED = 141 GST_PINCH_FIRST_MOVED =
133 G(GS_PINCH, 0, TS_MOVED, TSI_ALWAYS), 142 G(GS_PINCH, 0, TS_MOVED, TSI_ALWAYS),
134 143
135 GST_PINCH_SECOND_MOVED = 144 GST_PINCH_SECOND_MOVED =
136 G(GS_PINCH, 1, TS_MOVED, TSI_ALWAYS), 145 G(GS_PINCH, 1, TS_MOVED, TSI_ALWAYS),
137 146
138 GST_PINCH_FIRST_RELEASED = 147 GST_PINCH_FIRST_RELEASED =
139 G(GS_PINCH, 0, TS_RELEASED, TSI_NOT_PROCESSED), 148 G(GS_PINCH, 0, TS_RELEASED, TSI_ALWAYS),
140 149
141 GST_PINCH_SECOND_RELEASED = 150 GST_PINCH_SECOND_RELEASED =
142 G(GS_PINCH, 1, TS_RELEASED, TSI_NOT_PROCESSED), 151 G(GS_PINCH, 1, TS_RELEASED, TSI_ALWAYS),
143 152
144 GST_PINCH_FIRST_CANCELLED = 153 GST_PINCH_FIRST_CANCELLED =
145 G(GS_PINCH, 0, TS_CANCELLED, TSI_NOT_PROCESSED), 154 G(GS_PINCH, 0, TS_CANCELLED, TSI_ALWAYS),
146 155
147 GST_PINCH_SECOND_CANCELLED = 156 GST_PINCH_SECOND_CANCELLED =
148 G(GS_PINCH, 1, TS_CANCELLED, TSI_NOT_PROCESSED), 157 G(GS_PINCH, 1, TS_CANCELLED, TSI_ALWAYS),
149 158
150 GST_PINCH_THIRD_PRESSED = 159 GST_PINCH_THIRD_PRESSED =
151 G(GS_PINCH, 2, TS_PRESSED, TSI_NOT_PROCESSED), 160 G(GS_PINCH, 2, TS_PRESSED, TSI_NOT_PROCESSED),
152 161
153 GST_PINCH_THIRD_MOVED = 162 GST_PINCH_THIRD_MOVED =
154 G(GS_PINCH, 2, TS_MOVED, TSI_ALWAYS), 163 G(GS_PINCH, 2, TS_MOVED, TSI_ALWAYS),
155 164
156 GST_PINCH_THIRD_RELEASED = 165 GST_PINCH_THIRD_RELEASED =
157 G(GS_PINCH, 2, TS_RELEASED, TSI_NOT_PROCESSED), 166 G(GS_PINCH, 2, TS_RELEASED, TSI_ALWAYS),
158 167
159 GST_PINCH_THIRD_CANCELLED = 168 GST_PINCH_THIRD_CANCELLED =
160 G(GS_PINCH, 2, TS_CANCELLED, TSI_NOT_PROCESSED), 169 G(GS_PINCH, 2, TS_CANCELLED, TSI_ALWAYS),
161 170
162 GST_PINCH_FOURTH_PRESSED = 171 GST_PINCH_FOURTH_PRESSED =
163 G(GS_PINCH, 3, TS_PRESSED, TSI_NOT_PROCESSED), 172 G(GS_PINCH, 3, TS_PRESSED, TSI_NOT_PROCESSED),
164 173
165 GST_PINCH_FOURTH_MOVED = 174 GST_PINCH_FOURTH_MOVED =
166 G(GS_PINCH, 3, TS_MOVED, TSI_ALWAYS), 175 G(GS_PINCH, 3, TS_MOVED, TSI_ALWAYS),
167 176
168 GST_PINCH_FOURTH_RELEASED = 177 GST_PINCH_FOURTH_RELEASED =
169 G(GS_PINCH, 3, TS_RELEASED, TSI_NOT_PROCESSED), 178 G(GS_PINCH, 3, TS_RELEASED, TSI_ALWAYS),
170 179
171 GST_PINCH_FOURTH_CANCELLED = 180 GST_PINCH_FOURTH_CANCELLED =
172 G(GS_PINCH, 3, TS_CANCELLED, TSI_NOT_PROCESSED), 181 G(GS_PINCH, 3, TS_CANCELLED, TSI_ALWAYS),
173 182
174 GST_PINCH_FIFTH_PRESSED = 183 GST_PINCH_FIFTH_PRESSED =
175 G(GS_PINCH, 4, TS_PRESSED, TSI_NOT_PROCESSED), 184 G(GS_PINCH, 4, TS_PRESSED, TSI_NOT_PROCESSED),
176 185
177 GST_PINCH_FIFTH_MOVED = 186 GST_PINCH_FIFTH_MOVED =
178 G(GS_PINCH, 4, TS_MOVED, TSI_ALWAYS), 187 G(GS_PINCH, 4, TS_MOVED, TSI_ALWAYS),
179 188
180 GST_PINCH_FIFTH_RELEASED = 189 GST_PINCH_FIFTH_RELEASED =
181 G(GS_PINCH, 4, TS_RELEASED, TSI_NOT_PROCESSED), 190 G(GS_PINCH, 4, TS_RELEASED, TSI_ALWAYS),
182 191
183 GST_PINCH_FIFTH_CANCELLED = 192 GST_PINCH_FIFTH_CANCELLED =
184 G(GS_PINCH, 4, TS_CANCELLED, TSI_NOT_PROCESSED), 193 G(GS_PINCH, 4, TS_CANCELLED, TSI_ALWAYS),
185 }; 194 };
186 195
187 // Builds a signature. Signatures are assembled by joining together 196 // Builds a signature. Signatures are assembled by joining together
188 // multiple bits. 197 // multiple bits.
189 // 1 LSB bit so that the computed signature is always greater than 0 198 // 1 LSB bit so that the computed signature is always greater than 0
190 // 3 bits for the |type|. 199 // 3 bits for the |type|.
191 // 2 bit for |touch_status| 200 // 2 bit for |touch_status|
192 // 12 bits for |touch_id| 201 // 12 bits for |touch_id|
193 // 14 bits for the |gesture_state|. 202 // 14 bits for the |gesture_state|.
194 EdgeStateSignatureType Signature(GestureState gesture_state, 203 EdgeStateSignatureType Signature(GestureState gesture_state,
195 unsigned int touch_id, 204 unsigned int touch_id,
196 ui::EventType type, 205 ui::EventType type,
197 TouchStatusInternal touch_status) { 206 TouchStatusInternal touch_status) {
198 CHECK((touch_id & 0xfff) == touch_id); 207 CHECK((touch_id & 0xfff) == touch_id);
199 TouchState touch_state = TouchEventTypeToTouchState(type); 208 TouchState touch_state = TouchEventTypeToTouchState(type);
200 EdgeStateSignatureType signature = static_cast<EdgeStateSignatureType> 209 EdgeStateSignatureType signature = static_cast<EdgeStateSignatureType>
201 (G(gesture_state, touch_id, touch_state, touch_status)); 210 (G(gesture_state, touch_id, touch_state, touch_status));
202 211
203 switch (signature) { 212 switch (signature) {
204 case GST_NO_GESTURE_FIRST_PRESSED: 213 case GST_NO_GESTURE_FIRST_PRESSED:
205 case GST_PENDING_SYNTHETIC_CLICK_FIRST_RELEASED: 214 case GST_PENDING_SYNTHETIC_CLICK_FIRST_RELEASED:
215 case GST_PENDING_SYNTHETIC_CLICK_FIRST_RELEASED_HANDLED:
206 case GST_PENDING_SYNTHETIC_CLICK_FIRST_MOVED: 216 case GST_PENDING_SYNTHETIC_CLICK_FIRST_MOVED:
207 case GST_PENDING_SYNTHETIC_CLICK_FIRST_STATIONARY: 217 case GST_PENDING_SYNTHETIC_CLICK_FIRST_STATIONARY:
208 case GST_PENDING_SYNTHETIC_CLICK_FIRST_CANCELLED: 218 case GST_PENDING_SYNTHETIC_CLICK_FIRST_CANCELLED:
209 case GST_PENDING_SYNTHETIC_CLICK_SECOND_PRESSED: 219 case GST_PENDING_SYNTHETIC_CLICK_SECOND_PRESSED:
210 case GST_SCROLL_FIRST_RELEASED: 220 case GST_SCROLL_FIRST_RELEASED:
211 case GST_SCROLL_FIRST_MOVED: 221 case GST_SCROLL_FIRST_MOVED:
212 case GST_SCROLL_FIRST_CANCELLED: 222 case GST_SCROLL_FIRST_CANCELLED:
213 case GST_SCROLL_SECOND_PRESSED: 223 case GST_SCROLL_SECOND_PRESSED:
214 case GST_PENDING_TWO_FINGER_TAP_FIRST_RELEASED: 224 case GST_PENDING_TWO_FINGER_TAP_FIRST_RELEASED:
225 case GST_PENDING_TWO_FINGER_TAP_FIRST_RELEASED_HANDLED:
215 case GST_PENDING_TWO_FINGER_TAP_SECOND_RELEASED: 226 case GST_PENDING_TWO_FINGER_TAP_SECOND_RELEASED:
227 case GST_PENDING_TWO_FINGER_TAP_SECOND_RELEASED_HANDLED:
216 case GST_PENDING_TWO_FINGER_TAP_FIRST_MOVED: 228 case GST_PENDING_TWO_FINGER_TAP_FIRST_MOVED:
217 case GST_PENDING_TWO_FINGER_TAP_SECOND_MOVED: 229 case GST_PENDING_TWO_FINGER_TAP_SECOND_MOVED:
218 case GST_PENDING_TWO_FINGER_TAP_FIRST_CANCELLED: 230 case GST_PENDING_TWO_FINGER_TAP_FIRST_CANCELLED:
219 case GST_PENDING_TWO_FINGER_TAP_SECOND_CANCELLED: 231 case GST_PENDING_TWO_FINGER_TAP_SECOND_CANCELLED:
220 case GST_PENDING_TWO_FINGER_TAP_THIRD_PRESSED: 232 case GST_PENDING_TWO_FINGER_TAP_THIRD_PRESSED:
221 case GST_PINCH_FIRST_MOVED: 233 case GST_PINCH_FIRST_MOVED:
222 case GST_PINCH_SECOND_MOVED: 234 case GST_PINCH_SECOND_MOVED:
223 case GST_PINCH_FIRST_RELEASED: 235 case GST_PINCH_FIRST_RELEASED:
224 case GST_PINCH_SECOND_RELEASED: 236 case GST_PINCH_SECOND_RELEASED:
225 case GST_PINCH_FIRST_CANCELLED: 237 case GST_PINCH_FIRST_CANCELLED:
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
349 set_state(GS_NO_GESTURE); 361 set_state(GS_NO_GESTURE);
350 break; 362 break;
351 case GST_PENDING_SYNTHETIC_CLICK_FIRST_MOVED: 363 case GST_PENDING_SYNTHETIC_CLICK_FIRST_MOVED:
352 case GST_PENDING_SYNTHETIC_CLICK_FIRST_STATIONARY: 364 case GST_PENDING_SYNTHETIC_CLICK_FIRST_STATIONARY:
353 if (ScrollStart(event, point, gestures.get())) { 365 if (ScrollStart(event, point, gestures.get())) {
354 set_state(GS_SCROLL); 366 set_state(GS_SCROLL);
355 if (ScrollUpdate(event, point, gestures.get())) 367 if (ScrollUpdate(event, point, gestures.get()))
356 point.UpdateForScroll(); 368 point.UpdateForScroll();
357 } 369 }
358 break; 370 break;
371 case GST_PENDING_SYNTHETIC_CLICK_FIRST_RELEASED_HANDLED:
359 case GST_PENDING_SYNTHETIC_CLICK_FIRST_CANCELLED: 372 case GST_PENDING_SYNTHETIC_CLICK_FIRST_CANCELLED:
360 set_state(GS_NO_GESTURE); 373 set_state(GS_NO_GESTURE);
361 break; 374 break;
362 case GST_SCROLL_FIRST_MOVED: 375 case GST_SCROLL_FIRST_MOVED:
363 if (scroll_type_ == ST_VERTICAL || 376 if (scroll_type_ == ST_VERTICAL ||
364 scroll_type_ == ST_HORIZONTAL) 377 scroll_type_ == ST_HORIZONTAL)
365 BreakRailScroll(event, point, gestures.get()); 378 BreakRailScroll(event, point, gestures.get());
366 if (ScrollUpdate(event, point, gestures.get())) 379 if (ScrollUpdate(event, point, gestures.get()))
367 point.UpdateForScroll(); 380 point.UpdateForScroll();
368 break; 381 break;
(...skipping 15 matching lines...) Expand all
384 case GST_PENDING_TWO_FINGER_TAP_FIRST_RELEASED: 397 case GST_PENDING_TWO_FINGER_TAP_FIRST_RELEASED:
385 case GST_PENDING_TWO_FINGER_TAP_SECOND_RELEASED: 398 case GST_PENDING_TWO_FINGER_TAP_SECOND_RELEASED:
386 TwoFingerTouchReleased(event, point, gestures.get()); 399 TwoFingerTouchReleased(event, point, gestures.get());
387 set_state(GS_SCROLL); 400 set_state(GS_SCROLL);
388 break; 401 break;
389 case GST_PENDING_TWO_FINGER_TAP_FIRST_MOVED: 402 case GST_PENDING_TWO_FINGER_TAP_FIRST_MOVED:
390 case GST_PENDING_TWO_FINGER_TAP_SECOND_MOVED: 403 case GST_PENDING_TWO_FINGER_TAP_SECOND_MOVED:
391 if (TwoFingerTouchMove(event, point, gestures.get())) 404 if (TwoFingerTouchMove(event, point, gestures.get()))
392 set_state(GS_PINCH); 405 set_state(GS_PINCH);
393 break; 406 break;
407 case GST_PENDING_TWO_FINGER_TAP_FIRST_RELEASED_HANDLED:
408 case GST_PENDING_TWO_FINGER_TAP_SECOND_RELEASED_HANDLED:
394 case GST_PENDING_TWO_FINGER_TAP_FIRST_CANCELLED: 409 case GST_PENDING_TWO_FINGER_TAP_FIRST_CANCELLED:
395 case GST_PENDING_TWO_FINGER_TAP_SECOND_CANCELLED: 410 case GST_PENDING_TWO_FINGER_TAP_SECOND_CANCELLED:
396 scroll_type_ = ST_FREE; 411 scroll_type_ = ST_FREE;
397 set_state(GS_SCROLL); 412 set_state(GS_SCROLL);
398 break; 413 break;
399 case GST_PENDING_TWO_FINGER_TAP_THIRD_PRESSED: 414 case GST_PENDING_TWO_FINGER_TAP_THIRD_PRESSED:
400 PinchStart(event, point, gestures.get()); 415 PinchStart(event, point, gestures.get());
401 set_state(GS_PINCH); 416 set_state(GS_PINCH);
402 break; 417 break;
403 case GST_PINCH_FIRST_MOVED: 418 case GST_PINCH_FIRST_MOVED:
(...skipping 613 matching lines...) Expand 10 before | Expand all | Expand 10 after
1017 return; 1032 return;
1018 1033
1019 // Since long press timer has been started, there should be a non-NULL point. 1034 // Since long press timer has been started, there should be a non-NULL point.
1020 const GesturePoint* point = GetPointByPointId(0); 1035 const GesturePoint* point = GetPointByPointId(0);
1021 if (!ui::gestures::IsInsideManhattanSquare(point->first_touch_position(), 1036 if (!ui::gestures::IsInsideManhattanSquare(point->first_touch_position(),
1022 event.location())) 1037 event.location()))
1023 long_press_timer_->Stop(); 1038 long_press_timer_->Stop();
1024 } 1039 }
1025 1040
1026 } // namespace ui 1041 } // namespace ui
OLDNEW
« 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