Index: content/renderer/scheduler/renderer_scheduler_impl_unittest.cc |
diff --git a/content/renderer/scheduler/renderer_scheduler_impl_unittest.cc b/content/renderer/scheduler/renderer_scheduler_impl_unittest.cc |
index 7f49e514e5ee11502685567435011a3c02e160db..a12b7f1a38b3accb0574cc6a2492a32dd7dd2e02 100644 |
--- a/content/renderer/scheduler/renderer_scheduler_impl_unittest.cc |
+++ b/content/renderer/scheduler/renderer_scheduler_impl_unittest.cc |
@@ -385,7 +385,7 @@ TEST_F(RendererSchedulerImplTest, TestCompositorPolicy_DidAnimateForInput) { |
} |
TEST_F(RendererSchedulerImplTest, |
- DidReceiveInputEventOnCompositorThread_IgnoresMouseEvents) { |
+ DidReceiveInputEventOnCompositorThread_IgnoresMouseMove_InIsolation) { |
std::vector<std::string> order; |
idle_task_runner_->PostIdleTask( |
@@ -415,6 +415,72 @@ TEST_F(RendererSchedulerImplTest, |
} |
TEST_F(RendererSchedulerImplTest, |
+ DidReceiveInputEventOnCompositorThread_IgnoresMouseMove_WhenMouseUp) { |
+ std::vector<std::string> order; |
+ |
+ idle_task_runner_->PostIdleTask( |
+ FROM_HERE, |
+ base::Bind(&AppendToVectorIdleTestTask, &order, std::string("I1"))); |
+ default_task_runner_->PostTask( |
+ FROM_HERE, |
+ base::Bind(&AppendToVectorTestTask, &order, std::string("D1"))); |
+ compositor_task_runner_->PostTask( |
+ FROM_HERE, |
+ base::Bind(&AppendToVectorTestTask, &order, std::string("C1"))); |
+ default_task_runner_->PostTask( |
+ FROM_HERE, |
+ base::Bind(&AppendToVectorTestTask, &order, std::string("D2"))); |
+ compositor_task_runner_->PostTask( |
+ FROM_HERE, |
+ base::Bind(&AppendToVectorTestTask, &order, std::string("C2"))); |
+ |
+ scheduler_->DidReceiveInputEventOnCompositorThread( |
+ blink::WebInputEvent::MouseDown); |
+ scheduler_->DidReceiveInputEventOnCompositorThread( |
+ blink::WebInputEvent::MouseUp); |
+ scheduler_->DidReceiveInputEventOnCompositorThread( |
+ blink::WebInputEvent::MouseMove); |
+ EnableIdleTasks(); |
+ RunUntilIdle(); |
+ // Note compositor tasks are not prioritized. |
+ EXPECT_THAT(order, testing::ElementsAre(std::string("D1"), std::string("C1"), |
+ std::string("D2"), std::string("C2"), |
+ std::string("I1"))); |
+} |
+ |
+TEST_F(RendererSchedulerImplTest, |
+ DidReceiveInputEventOnCompositorThread_MouseMove_WhenMouseDown) { |
+ std::vector<std::string> order; |
+ |
+ idle_task_runner_->PostIdleTask( |
+ FROM_HERE, |
+ base::Bind(&AppendToVectorIdleTestTask, &order, std::string("I1"))); |
+ default_task_runner_->PostTask( |
+ FROM_HERE, |
+ base::Bind(&AppendToVectorTestTask, &order, std::string("D1"))); |
+ compositor_task_runner_->PostTask( |
+ FROM_HERE, |
+ base::Bind(&AppendToVectorTestTask, &order, std::string("C1"))); |
+ default_task_runner_->PostTask( |
+ FROM_HERE, |
+ base::Bind(&AppendToVectorTestTask, &order, std::string("D2"))); |
+ compositor_task_runner_->PostTask( |
+ FROM_HERE, |
+ base::Bind(&AppendToVectorTestTask, &order, std::string("C2"))); |
+ |
+ scheduler_->DidReceiveInputEventOnCompositorThread( |
+ blink::WebInputEvent::MouseDown); |
+ scheduler_->DidReceiveInputEventOnCompositorThread( |
+ blink::WebInputEvent::MouseMove); |
+ EnableIdleTasks(); |
+ RunUntilIdle(); |
+ // Note compositor tasks are not prioritized. |
+ EXPECT_THAT(order, testing::ElementsAre(std::string("C1"), std::string("C2"), |
+ std::string("D1"), std::string("D2"), |
+ std::string("I1"))); |
+} |
+ |
+TEST_F(RendererSchedulerImplTest, |
DidReceiveInputEventOnCompositorThread_IgnoresKeyboardEvents) { |
std::vector<std::string> order; |