OLD | NEW |
---|---|
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "base/basictypes.h" | 5 #include "base/basictypes.h" |
6 #include "base/logging.h" | 6 #include "base/logging.h" |
7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
8 #include "base/message_loop/message_loop.h" | 8 #include "base/message_loop/message_loop.h" |
9 #include "content/browser/renderer_host/input/timeout_monitor.h" | 9 #include "content/browser/renderer_host/input/timeout_monitor.h" |
10 #include "content/browser/renderer_host/input/touch_event_queue.h" | 10 #include "content/browser/renderer_host/input/touch_event_queue.h" |
(...skipping 17 matching lines...) Expand all Loading... | |
28 TouchEventQueueTest() | 28 TouchEventQueueTest() |
29 : sent_event_count_(0), | 29 : sent_event_count_(0), |
30 acked_event_count_(0), | 30 acked_event_count_(0), |
31 last_acked_event_state_(INPUT_EVENT_ACK_STATE_UNKNOWN) {} | 31 last_acked_event_state_(INPUT_EVENT_ACK_STATE_UNKNOWN) {} |
32 | 32 |
33 virtual ~TouchEventQueueTest() {} | 33 virtual ~TouchEventQueueTest() {} |
34 | 34 |
35 // testing::Test | 35 // testing::Test |
36 virtual void SetUp() OVERRIDE { | 36 virtual void SetUp() OVERRIDE { |
37 queue_.reset(new TouchEventQueue(this)); | 37 queue_.reset(new TouchEventQueue(this)); |
38 queue_->OnHasTouchEventHandlers(true); | |
38 } | 39 } |
39 | 40 |
40 virtual void TearDown() OVERRIDE { | 41 virtual void TearDown() OVERRIDE { |
41 queue_.reset(); | 42 queue_.reset(); |
42 } | 43 } |
43 | 44 |
44 // TouchEventQueueClient | 45 // TouchEventQueueClient |
45 virtual void SendTouchEventImmediately( | 46 virtual void SendTouchEventImmediately( |
46 const TouchEventWithLatencyInfo& event) OVERRIDE { | 47 const TouchEventWithLatencyInfo& event) OVERRIDE { |
47 ++sent_event_count_; | 48 ++sent_event_count_; |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
138 size_t GetAndResetSentEventCount() { | 139 size_t GetAndResetSentEventCount() { |
139 size_t count = sent_event_count_; | 140 size_t count = sent_event_count_; |
140 sent_event_count_ = 0; | 141 sent_event_count_ = 0; |
141 return count; | 142 return count; |
142 } | 143 } |
143 | 144 |
144 bool IsPendingAckTouchStart() const { | 145 bool IsPendingAckTouchStart() const { |
145 return queue_->IsPendingAckTouchStart(); | 146 return queue_->IsPendingAckTouchStart(); |
146 } | 147 } |
147 | 148 |
148 void Flush() { | 149 void OnHasTouchEventHandlers(bool has_handlers) { |
149 queue_->FlushQueue(); | 150 queue_->OnHasTouchEventHandlers(has_handlers); |
150 } | |
151 | |
152 void SetEnableTouchForwarding(bool enabled) { | |
153 queue_->no_touch_to_renderer_ = !enabled; | |
154 } | 151 } |
155 | 152 |
156 bool WillForwardTouchEvents() { | 153 bool WillForwardTouchEvents() { |
157 return !queue_->no_touch_to_renderer_ && !queue_->HasTimeoutEvent(); | 154 return queue_->has_handlers_ && |
155 !queue_->scroll_in_progress_ && | |
156 !queue_->HasTimeoutEvent(); | |
158 } | 157 } |
159 | 158 |
160 bool IsTimeoutRunning() { | 159 bool IsTimeoutRunning() { |
161 return queue_->IsTimeoutRunningForTesting(); | 160 return queue_->IsTimeoutRunningForTesting(); |
162 } | 161 } |
163 | 162 |
164 size_t queued_event_count() const { | 163 size_t queued_event_count() const { |
165 return queue_->size(); | 164 return queue_->size(); |
166 } | 165 } |
167 | 166 |
168 const WebTouchEvent& latest_event() const { | 167 const WebTouchEvent& latest_event() const { |
169 return queue_->GetLatestEventForTesting().event; | 168 return queue_->GetLatestEventForTesting().event; |
170 } | 169 } |
171 | 170 |
172 const WebTouchEvent& acked_event() const { | 171 const WebTouchEvent& acked_event() const { |
173 return last_acked_event_; | 172 return last_acked_event_; |
174 } | 173 } |
175 | 174 |
176 const WebTouchEvent& sent_event() const { | 175 const WebTouchEvent& sent_event() const { |
177 return last_sent_event_; | 176 return last_sent_event_; |
178 } | 177 } |
179 | 178 |
180 InputEventAckState acked_event_state() const { | 179 InputEventAckState acked_event_state() const { |
181 return last_acked_event_state_; | 180 return last_acked_event_state_; |
182 } | 181 } |
183 | 182 |
184 void set_no_touch_to_renderer(bool no_touch) { | |
185 queue_->no_touch_to_renderer_ = no_touch; | |
186 } | |
187 | |
188 bool no_touch_to_renderer() const { | |
189 return queue_->no_touch_to_renderer_; | |
190 } | |
191 | |
192 private: | 183 private: |
193 void SendTouchEvent() { | 184 void SendTouchEvent() { |
194 SendTouchEvent(touch_event_); | 185 SendTouchEvent(touch_event_); |
195 touch_event_.ResetPoints(); | 186 touch_event_.ResetPoints(); |
196 } | 187 } |
197 | 188 |
198 scoped_ptr<TouchEventQueue> queue_; | 189 scoped_ptr<TouchEventQueue> queue_; |
199 size_t sent_event_count_; | 190 size_t sent_event_count_; |
200 size_t acked_event_count_; | 191 size_t acked_event_count_; |
201 WebTouchEvent last_sent_event_; | 192 WebTouchEvent last_sent_event_; |
(...skipping 28 matching lines...) Expand all Loading... | |
230 // Receive an ACK for the second touch-event. | 221 // Receive an ACK for the second touch-event. |
231 SendTouchEventACK(INPUT_EVENT_ACK_STATE_CONSUMED); | 222 SendTouchEventACK(INPUT_EVENT_ACK_STATE_CONSUMED); |
232 EXPECT_EQ(0U, queued_event_count()); | 223 EXPECT_EQ(0U, queued_event_count()); |
233 EXPECT_EQ(0U, GetAndResetSentEventCount()); | 224 EXPECT_EQ(0U, GetAndResetSentEventCount()); |
234 EXPECT_EQ(1U, GetAndResetAckedEventCount()); | 225 EXPECT_EQ(1U, GetAndResetAckedEventCount()); |
235 EXPECT_EQ(WebInputEvent::TouchMove, acked_event().type); | 226 EXPECT_EQ(WebInputEvent::TouchMove, acked_event().type); |
236 } | 227 } |
237 | 228 |
238 // Tests that the touch-queue is emptied if a page stops listening for touch | 229 // Tests that the touch-queue is emptied if a page stops listening for touch |
239 // events. | 230 // events. |
240 TEST_F(TouchEventQueueTest, Flush) { | 231 TEST_F(TouchEventQueueTest, HasNoTouchHandlers) { |
tdresser
2014/01/09 21:14:32
Test name isn't very descriptive. Perhaps QueueFlu
jdduke (slow)
2014/01/09 22:05:04
Done.
| |
241 Flush(); | 232 OnHasTouchEventHandlers(true); |
242 EXPECT_EQ(0U, queued_event_count()); | 233 EXPECT_EQ(0U, queued_event_count()); |
243 EXPECT_EQ(0U, GetAndResetSentEventCount()); | 234 EXPECT_EQ(0U, GetAndResetSentEventCount()); |
244 | 235 |
245 // Send a touch-press event. | 236 // Send a touch-press event. |
246 PressTouchPoint(1, 1); | 237 PressTouchPoint(1, 1); |
247 EXPECT_EQ(1U, GetAndResetSentEventCount()); | 238 EXPECT_EQ(1U, GetAndResetSentEventCount()); |
248 | 239 |
249 ReleaseTouchPoint(0); | 240 ReleaseTouchPoint(0); |
250 | 241 |
251 // Events will be queued until the first sent event is ack'ed. | 242 // Events will be queued until the first sent event is ack'ed. |
252 for (int i = 5; i < 15; ++i) { | 243 for (int i = 5; i < 15; ++i) { |
253 PressTouchPoint(1, 1); | 244 PressTouchPoint(1, 1); |
254 MoveTouchPoint(0, i, i); | 245 MoveTouchPoint(0, i, i); |
255 ReleaseTouchPoint(0); | 246 ReleaseTouchPoint(0); |
256 } | 247 } |
257 EXPECT_EQ(32U, queued_event_count()); | 248 EXPECT_EQ(32U, queued_event_count()); |
258 EXPECT_EQ(0U, GetAndResetSentEventCount()); | 249 EXPECT_EQ(0U, GetAndResetSentEventCount()); |
259 | 250 |
260 // Receive an ACK for the first touch-event. One of the queued touch-event | 251 // Receive an ACK for the first touch-event. One of the queued touch-event |
261 // should be forwarded. | 252 // should be forwarded. |
262 SendTouchEventACK(INPUT_EVENT_ACK_STATE_CONSUMED); | 253 SendTouchEventACK(INPUT_EVENT_ACK_STATE_CONSUMED); |
263 EXPECT_EQ(31U, queued_event_count()); | 254 EXPECT_EQ(31U, queued_event_count()); |
264 EXPECT_EQ(1U, GetAndResetSentEventCount()); | 255 EXPECT_EQ(1U, GetAndResetSentEventCount()); |
265 EXPECT_EQ(1U, GetAndResetAckedEventCount()); | 256 EXPECT_EQ(1U, GetAndResetAckedEventCount()); |
266 EXPECT_EQ(WebInputEvent::TouchStart, acked_event().type); | 257 EXPECT_EQ(WebInputEvent::TouchStart, acked_event().type); |
267 | 258 |
268 // Flush the queue. The touch-event queue should now be emptied, but none of | 259 // Flush the queue. The touch-event queue should now be emptied, but none of |
269 // the queued touch-events should be sent to the renderer. | 260 // the queued touch-events should be sent to the renderer. |
270 Flush(); | 261 OnHasTouchEventHandlers(false); |
271 EXPECT_EQ(0U, queued_event_count()); | 262 EXPECT_EQ(0U, queued_event_count()); |
272 EXPECT_EQ(0U, GetAndResetSentEventCount()); | 263 EXPECT_EQ(0U, GetAndResetSentEventCount()); |
273 EXPECT_EQ(31U, GetAndResetAckedEventCount()); | 264 EXPECT_EQ(31U, GetAndResetAckedEventCount()); |
274 } | 265 } |
275 | 266 |
267 // Tests that if a touch sequence is interrupted by a no-touch-handler event, | |
268 // the rest of the sequence will be ignored until a new touch sequence. | |
tdresser
2014/01/09 21:14:32
until a new touch sequence. -> until the next touc
jdduke (slow)
2014/01/09 22:05:04
Done.
| |
269 TEST_F(TouchEventQueueTest, HasNoTouchHandlersDuringTouchSequence) { | |
270 // Send a touch-press event. | |
271 PressTouchPoint(1, 1); | |
272 EXPECT_EQ(1U, GetAndResetSentEventCount()); | |
273 EXPECT_EQ(1U, queued_event_count()); | |
274 | |
275 // Queue a touch-move event. | |
276 MoveTouchPoint(0, 5, 5); | |
277 EXPECT_EQ(2U, queued_event_count()); | |
278 EXPECT_EQ(0U, GetAndResetAckedEventCount()); | |
279 EXPECT_EQ(0U, GetAndResetSentEventCount()); | |
280 | |
281 // Touch handle deregistration should flush the queue. | |
282 OnHasTouchEventHandlers(false); | |
283 EXPECT_EQ(2U, GetAndResetAckedEventCount()); | |
284 EXPECT_EQ(0U, queued_event_count()); | |
285 | |
286 // The ack should be ignored as the touch queue is now empty. | |
287 SendTouchEventACK(INPUT_EVENT_ACK_STATE_NO_CONSUMER_EXISTS); | |
288 EXPECT_EQ(0U, GetAndResetAckedEventCount()); | |
289 EXPECT_EQ(0U, queued_event_count()); | |
290 | |
291 // Events should be dropped while there is no touch handler. | |
292 MoveTouchPoint(0, 10, 10); | |
293 EXPECT_EQ(0U, queued_event_count()); | |
294 EXPECT_EQ(1U, GetAndResetAckedEventCount()); | |
295 EXPECT_EQ(0U, GetAndResetSentEventCount()); | |
296 | |
297 // Simulate touch handler registration in the middle of a touch sequence. | |
298 OnHasTouchEventHandlers(true); | |
299 | |
300 // The touch end for the interrupted sequence should be dropped. | |
301 ReleaseTouchPoint(0); | |
302 EXPECT_EQ(0U, queued_event_count()); | |
303 EXPECT_EQ(1U, GetAndResetAckedEventCount()); | |
304 EXPECT_EQ(0U, GetAndResetSentEventCount()); | |
305 | |
306 // A new touch sequence should be forwarded properly. | |
307 PressTouchPoint(1, 1); | |
308 EXPECT_EQ(1U, queued_event_count()); | |
309 EXPECT_EQ(1U, GetAndResetSentEventCount()); | |
310 } | |
311 | |
276 // Tests that touch-events are coalesced properly in the queue. | 312 // Tests that touch-events are coalesced properly in the queue. |
277 TEST_F(TouchEventQueueTest, Coalesce) { | 313 TEST_F(TouchEventQueueTest, Coalesce) { |
278 // Send a touch-press event. | 314 // Send a touch-press event. |
279 PressTouchPoint(1, 1); | 315 PressTouchPoint(1, 1); |
280 EXPECT_EQ(1U, GetAndResetSentEventCount()); | 316 EXPECT_EQ(1U, GetAndResetSentEventCount()); |
281 | 317 |
282 // Send a few touch-move events, followed by a touch-release event. All the | 318 // Send a few touch-move events, followed by a touch-release event. All the |
283 // touch-move events should be coalesced into a single event. | 319 // touch-move events should be coalesced into a single event. |
284 for (int i = 5; i < 15; ++i) | 320 for (int i = 5; i < 15; ++i) |
285 MoveTouchPoint(0, i, i); | 321 MoveTouchPoint(0, i, i); |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
386 MoveTouchPoint(0, 10, 10); | 422 MoveTouchPoint(0, 10, 10); |
387 EXPECT_EQ(0U, GetAndResetSentEventCount()); | 423 EXPECT_EQ(0U, GetAndResetSentEventCount()); |
388 EXPECT_EQ(2U, queued_event_count()); | 424 EXPECT_EQ(2U, queued_event_count()); |
389 | 425 |
390 // Receive an ACK for the press. This should cause the queued touch-move to | 426 // Receive an ACK for the press. This should cause the queued touch-move to |
391 // be sent to the renderer. | 427 // be sent to the renderer. |
392 SendTouchEventACK(INPUT_EVENT_ACK_STATE_CONSUMED); | 428 SendTouchEventACK(INPUT_EVENT_ACK_STATE_CONSUMED); |
393 EXPECT_EQ(1U, GetAndResetSentEventCount()); | 429 EXPECT_EQ(1U, GetAndResetSentEventCount()); |
394 EXPECT_EQ(1U, queued_event_count()); | 430 EXPECT_EQ(1U, queued_event_count()); |
395 | 431 |
396 Flush(); | 432 OnHasTouchEventHandlers(false); |
397 EXPECT_EQ(0U, GetAndResetSentEventCount()); | 433 EXPECT_EQ(0U, GetAndResetSentEventCount()); |
398 EXPECT_EQ(0U, queued_event_count()); | 434 EXPECT_EQ(0U, queued_event_count()); |
399 | 435 |
400 // Now receive an ACK for the move. | 436 // Now receive an ACK for the move. |
401 SendTouchEventACK(INPUT_EVENT_ACK_STATE_CONSUMED); | 437 SendTouchEventACK(INPUT_EVENT_ACK_STATE_CONSUMED); |
402 EXPECT_EQ(0U, GetAndResetSentEventCount()); | 438 EXPECT_EQ(0U, GetAndResetSentEventCount()); |
403 EXPECT_EQ(0U, queued_event_count()); | 439 EXPECT_EQ(0U, queued_event_count()); |
404 } | 440 } |
405 | 441 |
406 // Tests that touch-move events are not sent to the renderer if the preceding | 442 // Tests that touch-move events are not sent to the renderer if the preceding |
(...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
678 EXPECT_EQ(1U, queued_event_count()); | 714 EXPECT_EQ(1U, queued_event_count()); |
679 EXPECT_EQ(1U, GetAndResetSentEventCount()); | 715 EXPECT_EQ(1U, GetAndResetSentEventCount()); |
680 EXPECT_EQ(1U, GetAndResetAckedEventCount()); | 716 EXPECT_EQ(1U, GetAndResetAckedEventCount()); |
681 EXPECT_EQ(INPUT_EVENT_ACK_STATE_NO_CONSUMER_EXISTS, acked_event_state()); | 717 EXPECT_EQ(INPUT_EVENT_ACK_STATE_NO_CONSUMER_EXISTS, acked_event_state()); |
682 EXPECT_EQ(WebInputEvent::TouchMove, acked_event().type); | 718 EXPECT_EQ(WebInputEvent::TouchMove, acked_event().type); |
683 } | 719 } |
684 | 720 |
685 // Tests basic TouchEvent forwarding suppression. | 721 // Tests basic TouchEvent forwarding suppression. |
686 TEST_F(TouchEventQueueTest, NoTouchBasic) { | 722 TEST_F(TouchEventQueueTest, NoTouchBasic) { |
687 // Disable TouchEvent forwarding. | 723 // Disable TouchEvent forwarding. |
688 SetEnableTouchForwarding(false); | 724 OnHasTouchEventHandlers(false); |
689 MoveTouchPoint(0, 30, 5); | 725 MoveTouchPoint(0, 30, 5); |
690 EXPECT_EQ(0U, GetAndResetSentEventCount()); | 726 EXPECT_EQ(0U, GetAndResetSentEventCount()); |
691 EXPECT_EQ(1U, GetAndResetAckedEventCount()); | 727 EXPECT_EQ(1U, GetAndResetAckedEventCount()); |
692 | 728 |
693 // TouchMove should not be sent to renderer. | 729 // TouchMove should not be sent to renderer. |
694 MoveTouchPoint(0, 65, 10); | 730 MoveTouchPoint(0, 65, 10); |
695 EXPECT_EQ(0U, GetAndResetSentEventCount()); | 731 EXPECT_EQ(0U, GetAndResetSentEventCount()); |
696 EXPECT_EQ(1U, GetAndResetAckedEventCount()); | 732 EXPECT_EQ(1U, GetAndResetAckedEventCount()); |
697 | 733 |
698 // TouchEnd should not be sent to renderer. | 734 // TouchEnd should not be sent to renderer. |
699 ReleaseTouchPoint(0); | 735 ReleaseTouchPoint(0); |
700 EXPECT_EQ(0U, GetAndResetSentEventCount()); | 736 EXPECT_EQ(0U, GetAndResetSentEventCount()); |
701 EXPECT_EQ(1U, GetAndResetAckedEventCount()); | 737 EXPECT_EQ(1U, GetAndResetAckedEventCount()); |
702 | 738 |
703 // TouchStart should not be sent to renderer. | 739 // TouchStart should not be sent to renderer. |
704 PressTouchPoint(5, 5); | 740 PressTouchPoint(5, 5); |
705 EXPECT_EQ(0U, GetAndResetSentEventCount()); | 741 EXPECT_EQ(0U, GetAndResetSentEventCount()); |
706 EXPECT_EQ(1U, GetAndResetAckedEventCount()); | 742 EXPECT_EQ(1U, GetAndResetAckedEventCount()); |
707 | 743 |
708 // Enable TouchEvent forwarding. | 744 // Enable TouchEvent forwarding. |
709 SetEnableTouchForwarding(true); | 745 OnHasTouchEventHandlers(true); |
710 | 746 |
711 PressTouchPoint(80, 10); | 747 PressTouchPoint(80, 10); |
712 EXPECT_EQ(1U, GetAndResetSentEventCount()); | 748 EXPECT_EQ(1U, GetAndResetSentEventCount()); |
713 SendTouchEventACK(INPUT_EVENT_ACK_STATE_NOT_CONSUMED); | 749 SendTouchEventACK(INPUT_EVENT_ACK_STATE_NOT_CONSUMED); |
714 EXPECT_EQ(1U, GetAndResetAckedEventCount()); | 750 EXPECT_EQ(1U, GetAndResetAckedEventCount()); |
715 | 751 |
716 MoveTouchPoint(0, 80, 20); | 752 MoveTouchPoint(0, 80, 20); |
717 EXPECT_EQ(1U, GetAndResetSentEventCount()); | 753 EXPECT_EQ(1U, GetAndResetSentEventCount()); |
718 SendTouchEventACK(INPUT_EVENT_ACK_STATE_NOT_CONSUMED); | 754 SendTouchEventACK(INPUT_EVENT_ACK_STATE_NOT_CONSUMED); |
719 EXPECT_EQ(1U, GetAndResetAckedEventCount()); | 755 EXPECT_EQ(1U, GetAndResetAckedEventCount()); |
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
970 TEST_F(TouchEventQueueTest, NoTouchTimeoutIfAckIsSynchronous) { | 1006 TEST_F(TouchEventQueueTest, NoTouchTimeoutIfAckIsSynchronous) { |
971 SetUpForTimeoutTesting(kDefaultTouchTimeoutDelayMs); | 1007 SetUpForTimeoutTesting(kDefaultTouchTimeoutDelayMs); |
972 | 1008 |
973 // Queue a TouchStart. | 1009 // Queue a TouchStart. |
974 SetSyncAckResult(INPUT_EVENT_ACK_STATE_CONSUMED); | 1010 SetSyncAckResult(INPUT_EVENT_ACK_STATE_CONSUMED); |
975 ASSERT_FALSE(IsTimeoutRunning()); | 1011 ASSERT_FALSE(IsTimeoutRunning()); |
976 PressTouchPoint(0, 1); | 1012 PressTouchPoint(0, 1); |
977 EXPECT_FALSE(IsTimeoutRunning()); | 1013 EXPECT_FALSE(IsTimeoutRunning()); |
978 } | 1014 } |
979 | 1015 |
1016 // Tests that the timeout is disabled if the touch handler disappears. | |
1017 TEST_F(TouchEventQueueTest, NoTouchTimeoutIfNoTouchHandler) { | |
1018 SetUpForTimeoutTesting(kDefaultTouchTimeoutDelayMs); | |
1019 | |
1020 // Queue a TouchStart. | |
1021 PressTouchPoint(0, 1); | |
1022 ASSERT_TRUE(IsTimeoutRunning()); | |
1023 | |
1024 // Unload the touch handler. | |
1025 OnHasTouchEventHandlers(false); | |
1026 EXPECT_FALSE(IsTimeoutRunning()); | |
1027 } | |
1028 | |
980 // Tests that a TouchCancel timeout plays nice when the timed out touch stream | 1029 // Tests that a TouchCancel timeout plays nice when the timed out touch stream |
981 // turns into a scroll gesture sequence. | 1030 // turns into a scroll gesture sequence. |
982 TEST_F(TouchEventQueueTest, TouchTimeoutWithFollowupGesture) { | 1031 TEST_F(TouchEventQueueTest, TouchTimeoutWithFollowupGesture) { |
983 SetUpForTimeoutTesting(kDefaultTouchTimeoutDelayMs); | 1032 SetUpForTimeoutTesting(kDefaultTouchTimeoutDelayMs); |
984 | 1033 |
985 // Queue a TouchStart. | 1034 // Queue a TouchStart. |
986 PressTouchPoint(0, 1); | 1035 PressTouchPoint(0, 1); |
987 EXPECT_TRUE(IsTimeoutRunning()); | 1036 EXPECT_TRUE(IsTimeoutRunning()); |
988 EXPECT_TRUE(WillForwardTouchEvents()); | 1037 EXPECT_TRUE(WillForwardTouchEvents()); |
989 EXPECT_EQ(1U, GetAndResetSentEventCount()); | 1038 EXPECT_EQ(1U, GetAndResetSentEventCount()); |
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1139 EXPECT_TRUE(WillForwardTouchEvents()); | 1188 EXPECT_TRUE(WillForwardTouchEvents()); |
1140 EXPECT_EQ(0U, GetAndResetAckedEventCount()); | 1189 EXPECT_EQ(0U, GetAndResetAckedEventCount()); |
1141 EXPECT_EQ(0U, GetAndResetSentEventCount()); | 1190 EXPECT_EQ(0U, GetAndResetSentEventCount()); |
1142 | 1191 |
1143 // Subsequent events should be handled normally. | 1192 // Subsequent events should be handled normally. |
1144 PressTouchPoint(0, 1); | 1193 PressTouchPoint(0, 1); |
1145 EXPECT_EQ(1U, GetAndResetSentEventCount()); | 1194 EXPECT_EQ(1U, GetAndResetSentEventCount()); |
1146 EXPECT_EQ(0U, GetAndResetAckedEventCount()); | 1195 EXPECT_EQ(0U, GetAndResetAckedEventCount()); |
1147 } | 1196 } |
1148 } // namespace content | 1197 } // namespace content |
OLD | NEW |