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

Side by Side Diff: content/renderer/input/main_thread_event_queue_unittest.cc

Issue 2710663003: Merging of touch event ack ids was inconsistent. (Closed)
Patch Set: Whoops a bit to aggressive; still need the clear Created 3 years, 10 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
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 <stddef.h> 5 #include <stddef.h>
6 6
7 #include <new> 7 #include <new>
8 #include <utility> 8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after
336 HandleEvent(kEvents[1], INPUT_EVENT_ACK_STATE_NOT_CONSUMED); 336 HandleEvent(kEvents[1], INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
337 HandleEvent(kEvents[2], INPUT_EVENT_ACK_STATE_NOT_CONSUMED); 337 HandleEvent(kEvents[2], INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
338 HandleEvent(kEvents[3], INPUT_EVENT_ACK_STATE_NOT_CONSUMED); 338 HandleEvent(kEvents[3], INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
339 339
340 EXPECT_EQ(2u, event_queue().size()); 340 EXPECT_EQ(2u, event_queue().size());
341 EXPECT_TRUE(main_task_runner_->HasPendingTask()); 341 EXPECT_TRUE(main_task_runner_->HasPendingTask());
342 RunPendingTasksWithSimulatedRaf(); 342 RunPendingTasksWithSimulatedRaf();
343 343
344 EXPECT_EQ(0u, event_queue().size()); 344 EXPECT_EQ(0u, event_queue().size());
345 EXPECT_EQ(2u, additional_acked_events_.size()); 345 EXPECT_EQ(2u, additional_acked_events_.size());
346 EXPECT_EQ(kEvents[2].uniqueTouchEventId, additional_acked_events_.at(0)); 346 EXPECT_EQ(kEvents[1].uniqueTouchEventId, additional_acked_events_.at(0));
347 EXPECT_EQ(kEvents[3].uniqueTouchEventId, additional_acked_events_.at(1)); 347 EXPECT_EQ(kEvents[2].uniqueTouchEventId, additional_acked_events_.at(1));
348
349 const WebTouchEvent* last_touch_event =
350 static_cast<const WebTouchEvent*>(handled_events_.at(1).eventPointer());
351 EXPECT_EQ(kEvents[3].uniqueTouchEventId,
352 last_touch_event->uniqueTouchEventId);
348 353
349 HandleEvent(kEvents[1], INPUT_EVENT_ACK_STATE_SET_NON_BLOCKING); 354 HandleEvent(kEvents[1], INPUT_EVENT_ACK_STATE_SET_NON_BLOCKING);
350 HandleEvent(kEvents[2], INPUT_EVENT_ACK_STATE_SET_NON_BLOCKING); 355 HandleEvent(kEvents[2], INPUT_EVENT_ACK_STATE_SET_NON_BLOCKING);
351 HandleEvent(kEvents[3], INPUT_EVENT_ACK_STATE_SET_NON_BLOCKING); 356 HandleEvent(kEvents[3], INPUT_EVENT_ACK_STATE_SET_NON_BLOCKING);
352 EXPECT_EQ(1u, event_queue().size()); 357 EXPECT_EQ(1u, event_queue().size());
353 RunPendingTasksWithSimulatedRaf(); 358 RunPendingTasksWithSimulatedRaf();
354 histogram_tester.ExpectUniqueSample(kCoalescedCountHistogram, 2, 2); 359 histogram_tester.ExpectUniqueSample(kCoalescedCountHistogram, 2, 2);
355 } 360 }
356 361
357 TEST_P(MainThreadEventQueueTest, InterleavedEvents) { 362 TEST_P(MainThreadEventQueueTest, InterleavedEvents) {
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
525 SyntheticWebTouchEvent kEvents[2]; 530 SyntheticWebTouchEvent kEvents[2];
526 kEvents[0].PressPoint(10, 10); 531 kEvents[0].PressPoint(10, 10);
527 kEvents[0].MovePoint(0, 50, 50); 532 kEvents[0].MovePoint(0, 50, 50);
528 kEvents[1].PressPoint(10, 10); 533 kEvents[1].PressPoint(10, 10);
529 kEvents[1].MovePoint(0, 20, 20); 534 kEvents[1].MovePoint(0, 20, 20);
530 kEvents[0].dispatchType = WebInputEvent::EventNonBlocking; 535 kEvents[0].dispatchType = WebInputEvent::EventNonBlocking;
531 536
532 EXPECT_FALSE(main_task_runner_->HasPendingTask()); 537 EXPECT_FALSE(main_task_runner_->HasPendingTask());
533 EXPECT_EQ(0u, event_queue().size()); 538 EXPECT_EQ(0u, event_queue().size());
534 539
535 // Send a continuous input event (ack required) and then 540 // Send a discrete input event and then a continuous
536 // a discrete event. The events should coalesce together 541 // (ack required) event. The events should coalesce together
537 // and a post task should be on the queue at the end. 542 // and a post task should be on the queue at the end.
543 HandleEvent(kEvents[1], INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
544 EXPECT_EQ(1u, event_queue().size());
545 EXPECT_FALSE(main_task_runner_->HasPendingTask());
546 EXPECT_TRUE(needs_main_frame_);
538 HandleEvent(kEvents[0], INPUT_EVENT_ACK_STATE_NOT_CONSUMED); 547 HandleEvent(kEvents[0], INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
539 EXPECT_EQ(1u, event_queue().size()); 548 EXPECT_EQ(1u, event_queue().size());
540 EXPECT_FALSE(main_task_runner_->HasPendingTask()); 549 EXPECT_FALSE(main_task_runner_->HasPendingTask());
541 EXPECT_TRUE(needs_main_frame_); 550 EXPECT_TRUE(needs_main_frame_);
542 HandleEvent(kEvents[1], INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
543 EXPECT_EQ(1u, event_queue().size());
544 EXPECT_FALSE(main_task_runner_->HasPendingTask());
545 EXPECT_TRUE(needs_main_frame_);
546 RunPendingTasksWithSimulatedRaf(); 551 RunPendingTasksWithSimulatedRaf();
547 EXPECT_EQ(0u, event_queue().size()); 552 EXPECT_EQ(0u, event_queue().size());
548 EXPECT_EQ(1u, additional_acked_events_.size()); 553 EXPECT_EQ(1u, additional_acked_events_.size());
549 additional_acked_events_.clear(); 554 additional_acked_events_.clear();
550 555
551 // Send a non-cancelable ack required event, and then a non-ack 556 // Send a non-cancelable ack required event, and then a non-ack
552 // required event they should be coalesced together. 557 // required event they should be coalesced together.
553 EXPECT_TRUE(HandleEvent(kEvents[0], INPUT_EVENT_ACK_STATE_NOT_CONSUMED)); 558 EXPECT_TRUE(HandleEvent(kEvents[0], INPUT_EVENT_ACK_STATE_NOT_CONSUMED));
554 EXPECT_EQ(1u, event_queue().size()); 559 EXPECT_EQ(1u, event_queue().size());
555 EXPECT_FALSE(main_task_runner_->HasPendingTask()); 560 EXPECT_FALSE(main_task_runner_->HasPendingTask());
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after
770 "MainThreadResponsivenessScrollIntervention", "Control"); 775 "MainThreadResponsivenessScrollIntervention", "Control");
771 queue_ = new MainThreadEventQueue(kTestRoutingID, 776 queue_ = new MainThreadEventQueue(kTestRoutingID,
772 &dummy_main_thread_event_queue_client_, 777 &dummy_main_thread_event_queue_client_,
773 main_task_runner_, &renderer_scheduler_); 778 main_task_runner_, &renderer_scheduler_);
774 EXPECT_FALSE(enable_non_blocking_due_to_main_thread_responsiveness_flag()); 779 EXPECT_FALSE(enable_non_blocking_due_to_main_thread_responsiveness_flag());
775 EXPECT_EQ(base::TimeDelta::FromMilliseconds(0), 780 EXPECT_EQ(base::TimeDelta::FromMilliseconds(0),
776 main_thread_responsiveness_threshold()); 781 main_thread_responsiveness_threshold());
777 } 782 }
778 783
779 } // namespace content 784 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698