| Index: content/renderer/input/main_thread_event_queue_unittest.cc
|
| diff --git a/content/renderer/input/main_thread_event_queue_unittest.cc b/content/renderer/input/main_thread_event_queue_unittest.cc
|
| index 81c324cbb5e5c8d3df38789857ef46af93098a0b..cbe2f397a26b51c57b22030b888059cbda4c5284 100644
|
| --- a/content/renderer/input/main_thread_event_queue_unittest.cc
|
| +++ b/content/renderer/input/main_thread_event_queue_unittest.cc
|
| @@ -46,7 +46,6 @@ const unsigned kRafAlignedEnabledMouse = 1 << 1;
|
| // Simulate a 16ms frame signal.
|
| const base::TimeDelta kFrameInterval = base::TimeDelta::FromMilliseconds(16);
|
|
|
| -const int kTestRoutingID = 13;
|
| const char* kCoalescedCountHistogram =
|
| "Event.MainThreadEventQueue.CoalescedCount";
|
|
|
| @@ -62,8 +61,8 @@ class HandledTask {
|
|
|
| class HandledEvent : public HandledTask {
|
| public:
|
| - explicit HandledEvent(const blink::WebCoalescedInputEvent* event)
|
| - : event_(event->Event(), event->GetCoalescedEventsPointers()) {}
|
| + explicit HandledEvent(const blink::WebCoalescedInputEvent& event)
|
| + : event_(event.Event(), event.GetCoalescedEventsPointers()) {}
|
| ~HandledEvent() override {}
|
|
|
| blink::WebCoalescedInputEvent* taskAsEvent() override { return &event_; }
|
| @@ -117,29 +116,8 @@ class MainThreadEventQueueTest : public testing::TestWithParam<unsigned>,
|
| }
|
|
|
| void SetUp() override {
|
| - queue_ = new MainThreadEventQueue(kTestRoutingID, this, main_task_runner_,
|
| - &renderer_scheduler_);
|
| - }
|
| -
|
| - void HandleEventOnMainThread(int routing_id,
|
| - const blink::WebCoalescedInputEvent* event,
|
| - const ui::LatencyInfo& latency,
|
| - InputEventDispatchType type) override {
|
| - EXPECT_EQ(kTestRoutingID, routing_id);
|
| -
|
| - std::unique_ptr<HandledTask> handled_event(new HandledEvent(event));
|
| - handled_tasks_.push_back(std::move(handled_event));
|
| -
|
| - queue_->EventHandled(event->Event().GetType(),
|
| - blink::WebInputEventResult::kHandledApplication,
|
| - INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
|
| - }
|
| -
|
| - void SendInputEventAck(int routing_id,
|
| - blink::WebInputEvent::Type type,
|
| - InputEventAckState ack_result,
|
| - uint32_t touch_event_id) override {
|
| - additional_acked_events_.push_back(touch_event_id);
|
| + queue_ =
|
| + new MainThreadEventQueue(this, main_task_runner_, &renderer_scheduler_);
|
| }
|
|
|
| bool HandleEvent(WebInputEvent& event, InputEventAckState ack_result) {
|
| @@ -159,8 +137,6 @@ class MainThreadEventQueueTest : public testing::TestWithParam<unsigned>,
|
| base::Unretained(this), closure_id));
|
| }
|
|
|
| - void NeedsMainFrame(int routing_id) override { needs_main_frame_ = true; }
|
| -
|
| MainThreadEventQueueTaskList& event_queue() {
|
| return queue_->shared_state_.events_;
|
| }
|
| @@ -190,6 +166,23 @@ class MainThreadEventQueueTest : public testing::TestWithParam<unsigned>,
|
| }
|
| }
|
|
|
| + InputEventAckState HandleInputEvent(
|
| + const blink::WebCoalescedInputEvent& event,
|
| + const ui::LatencyInfo& latency,
|
| + InputEventDispatchType dispatch_type) override {
|
| + std::unique_ptr<HandledTask> handled_event(new HandledEvent(event));
|
| + handled_tasks_.push_back(std::move(handled_event));
|
| + return INPUT_EVENT_ACK_STATE_NOT_CONSUMED;
|
| + }
|
| +
|
| + void SendInputEventAck(blink::WebInputEvent::Type type,
|
| + InputEventAckState ack_result,
|
| + uint32_t touch_event_id) override {
|
| + additional_acked_events_.push_back(touch_event_id);
|
| + }
|
| +
|
| + void SetNeedsMainFrame() override { needs_main_frame_ = true; }
|
| +
|
| protected:
|
| base::test::ScopedFeatureList feature_list_;
|
| scoped_refptr<base::TestSimpleTaskRunner> main_task_runner_;
|
| @@ -880,22 +873,9 @@ INSTANTIATE_TEST_CASE_P(
|
| testing::Range(0u,
|
| (kRafAlignedEnabledTouch | kRafAlignedEnabledMouse) + 1));
|
|
|
| -class DummyMainThreadEventQueueClient : public MainThreadEventQueueClient {
|
| - void HandleEventOnMainThread(int routing_id,
|
| - const blink::WebCoalescedInputEvent* event,
|
| - const ui::LatencyInfo& latency,
|
| - InputEventDispatchType dispatch_type) override {}
|
| -
|
| - void SendInputEventAck(int routing_id,
|
| - blink::WebInputEvent::Type type,
|
| - InputEventAckState ack_result,
|
| - uint32_t touch_event_id) override {}
|
| -
|
| - void NeedsMainFrame(int routing_id) override {}
|
| -};
|
| -
|
| class MainThreadEventQueueInitializationTest
|
| - : public testing::Test {
|
| + : public testing::Test,
|
| + public MainThreadEventQueueClient {
|
| public:
|
| MainThreadEventQueueInitializationTest()
|
| : field_trial_list_(new base::FieldTrialList(nullptr)) {}
|
| @@ -908,13 +888,25 @@ class MainThreadEventQueueInitializationTest
|
| return queue_->enable_non_blocking_due_to_main_thread_responsiveness_flag_;
|
| }
|
|
|
| + InputEventAckState HandleInputEvent(
|
| + const blink::WebCoalescedInputEvent& event,
|
| + const ui::LatencyInfo& latency,
|
| + InputEventDispatchType dispatch_type) override {
|
| + return INPUT_EVENT_ACK_STATE_NOT_CONSUMED;
|
| + }
|
| +
|
| + void SendInputEventAck(blink::WebInputEvent::Type type,
|
| + InputEventAckState ack_result,
|
| + uint32_t touch_event_id) override {}
|
| +
|
| + void SetNeedsMainFrame() override {}
|
| +
|
| protected:
|
| scoped_refptr<MainThreadEventQueue> queue_;
|
| base::test::ScopedFeatureList feature_list_;
|
| blink::scheduler::MockRendererScheduler renderer_scheduler_;
|
| scoped_refptr<base::TestSimpleTaskRunner> main_task_runner_;
|
| std::unique_ptr<base::FieldTrialList> field_trial_list_;
|
| - DummyMainThreadEventQueueClient dummy_main_thread_event_queue_client_;
|
| };
|
|
|
| TEST_F(MainThreadEventQueueInitializationTest,
|
| @@ -924,9 +916,8 @@ TEST_F(MainThreadEventQueueInitializationTest,
|
|
|
| base::FieldTrialList::CreateFieldTrial(
|
| "MainThreadResponsivenessScrollIntervention", "Enabled123");
|
| - queue_ = new MainThreadEventQueue(kTestRoutingID,
|
| - &dummy_main_thread_event_queue_client_,
|
| - main_task_runner_, &renderer_scheduler_);
|
| + queue_ =
|
| + new MainThreadEventQueue(this, main_task_runner_, &renderer_scheduler_);
|
| EXPECT_TRUE(enable_non_blocking_due_to_main_thread_responsiveness_flag());
|
| EXPECT_EQ(base::TimeDelta::FromMilliseconds(123),
|
| main_thread_responsiveness_threshold());
|
| @@ -936,9 +927,8 @@ TEST_F(MainThreadEventQueueInitializationTest,
|
| MainThreadResponsivenessThresholdDisabled) {
|
| base::FieldTrialList::CreateFieldTrial(
|
| "MainThreadResponsivenessScrollIntervention", "Control");
|
| - queue_ = new MainThreadEventQueue(kTestRoutingID,
|
| - &dummy_main_thread_event_queue_client_,
|
| - main_task_runner_, &renderer_scheduler_);
|
| + queue_ =
|
| + new MainThreadEventQueue(this, main_task_runner_, &renderer_scheduler_);
|
| EXPECT_FALSE(enable_non_blocking_due_to_main_thread_responsiveness_flag());
|
| EXPECT_EQ(base::TimeDelta::FromMilliseconds(0),
|
| main_thread_responsiveness_threshold());
|
|
|