Chromium Code Reviews| Index: third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl_unittest.cc |
| diff --git a/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl_unittest.cc b/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl_unittest.cc |
| index ec9a3f98a6b5ec0b4936c691b4dbfad385a488d8..d007c5e526d67e37f8e634bb6732649ad3353775 100644 |
| --- a/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl_unittest.cc |
| +++ b/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl_unittest.cc |
| @@ -2065,6 +2065,28 @@ TEST_F(RendererSchedulerImplWithMessageLoopTest, |
| std::string("3"))); |
| } |
| +TEST_F(RendererSchedulerImplTest, TestBeginMainFrameNotExpectedUntil) { |
| + base::TimeDelta tenMillis(base::TimeDelta::FromInternalValue(10000)); |
| + base::TimeTicks expected_deadline = clock_->NowTicks() + tenMillis; |
| + base::TimeTicks deadline_in_task; |
| + int run_count = 0; |
| + |
| + idle_task_runner_->PostIdleTask( |
| + FROM_HERE, base::Bind(&IdleTestTask, &run_count, &deadline_in_task)); |
| + |
| + RunUntilIdle(); |
| + EXPECT_EQ(0, run_count); // Shouldn't run yet as no idle period. |
| + |
| + base::TimeTicks now = clock_->NowTicks(); |
| + base::TimeTicks frame_time = now + tenMillis; |
|
Sami
2017/04/06 17:39:09
nit: ten_millis
Dan Elphick
2017/04/07 09:05:02
Done.
|
| + // No main frame is expected until frame_time, so short idle work can be |
| + // scheduled in the mean time. |
| + scheduler_->BeginMainFrameNotExpectedUntil(frame_time); |
| + RunUntilIdle(); |
| + EXPECT_EQ(1, run_count); // Should have run in a long idle time. |
| + EXPECT_EQ(expected_deadline, deadline_in_task); |
| +} |
| + |
| TEST_F(RendererSchedulerImplTest, TestLongIdlePeriod) { |
| base::TimeTicks expected_deadline = |
| clock_->NowTicks() + maximum_idle_period_duration(); |