| Index: components/scheduler/renderer/renderer_scheduler_impl_unittest.cc
|
| diff --git a/components/scheduler/renderer/renderer_scheduler_impl_unittest.cc b/components/scheduler/renderer/renderer_scheduler_impl_unittest.cc
|
| index 7e339c2169f1505e38b342d1cd322691becd01f4..238239966dff490b418b46796d35aff081bb5f0b 100644
|
| --- a/components/scheduler/renderer/renderer_scheduler_impl_unittest.cc
|
| +++ b/components/scheduler/renderer/renderer_scheduler_impl_unittest.cc
|
| @@ -2150,6 +2150,27 @@ TEST_F(
|
| EXPECT_THAT(run_order, testing::ElementsAre(std::string("D1")));
|
| }
|
|
|
| +TEST_F(RendererSchedulerImplTest,
|
| + ExpensiveLoadingTasksNotBlockedDuringMainThreadGestures) {
|
| + std::vector<std::string> run_order;
|
| +
|
| + SimulateExpensiveTasks(loading_task_runner_);
|
| +
|
| + // Loading tasks should not be disabled during main thread user user
|
| + // interactions.
|
| + PostTestTasks(&run_order, "C1 L1");
|
| +
|
| + // Trigger main_thread_gesture UseCase
|
| + WillBeginMainThreadGestureFrame();
|
| + RunUntilIdle();
|
| + EXPECT_EQ(RendererScheduler::UseCase::MAIN_THREAD_GESTURE, CurrentUseCase());
|
| +
|
| + EXPECT_TRUE(LoadingTasksSeemExpensive());
|
| + EXPECT_FALSE(TimerTasksSeemExpensive());
|
| + EXPECT_THAT(run_order,
|
| + testing::ElementsAre(std::string("C1"), std::string("L1")));
|
| +}
|
| +
|
| TEST_F(RendererSchedulerImplTest, ModeratelyExpensiveTimer_NotBlocked) {
|
| scheduler_->SetHasVisibleRenderWidgetWithTouchHandler(true);
|
| for (int i = 0; i < 20; i++) {
|
|
|