Index: components/scheduler/renderer/idle_time_estimator_unittest.cc |
diff --git a/components/scheduler/renderer/idle_time_estimator_unittest.cc b/components/scheduler/renderer/idle_time_estimator_unittest.cc |
index 8f34944304e95e4db7347f6435df18d0aa56693c..38e90d7b934d00c10dd27108f1fcc8fd668cbca1 100644 |
--- a/components/scheduler/renderer/idle_time_estimator_unittest.cc |
+++ b/components/scheduler/renderer/idle_time_estimator_unittest.cc |
@@ -143,4 +143,22 @@ TEST_F(IdleTimeEstimatorTest, Estimation_MultipleTasks) { |
estimator_->GetExpectedIdleDuration(frame_length_)); |
} |
+TEST_F(IdleTimeEstimatorTest, IgnoresNestedTasks) { |
+ SimulateFrameWithOneCompositorTask(5); |
+ SimulateFrameWithOneCompositorTask(5); |
+ |
+ base::PendingTask task(FROM_HERE, base::Closure()); |
+ estimator_->WillProcessTask(task); |
+ SimulateFrameWithTwoCompositorTasks(4, 4); |
+ SimulateFrameWithTwoCompositorTasks(4, 4); |
+ SimulateFrameWithTwoCompositorTasks(4, 4); |
+ SimulateFrameWithTwoCompositorTasks(4, 4); |
+ estimator_->DidCommitFrameToCompositor(); |
+ estimator_->DidProcessTask(task); |
+ |
+ EXPECT_EQ(base::TimeDelta::FromMilliseconds(11), |
+ estimator_->GetExpectedIdleDuration(frame_length_)); |
+} |
+ |
+ |
} // namespace scheduler |