Chromium Code Reviews| Index: third_party/WebKit/Source/platform/scheduler/renderer/task_queue_throttler_unittest.cc |
| diff --git a/third_party/WebKit/Source/platform/scheduler/renderer/task_queue_throttler_unittest.cc b/third_party/WebKit/Source/platform/scheduler/renderer/task_queue_throttler_unittest.cc |
| index 47bcf16d4f9201630fe49ac1ba2e61383fc45a9d..d924ccbb7e2bb537d522686f931264c6e24b5f9e 100644 |
| --- a/third_party/WebKit/Source/platform/scheduler/renderer/task_queue_throttler_unittest.cc |
| +++ b/third_party/WebKit/Source/platform/scheduler/renderer/task_queue_throttler_unittest.cc |
| @@ -992,5 +992,36 @@ TEST_F(TaskQueueThrottlerTest, GrantAdditionalBudget) { |
| pool->Close(); |
| } |
| +TEST_F(TaskQueueThrottlerTest, EnableAndDisableThrottlingAndTimeBudgets) { |
| + std::vector<base::TimeTicks> run_times; |
|
Sami
2016/11/22 19:27:35
I think this test could use a narrative summary co
altimin
2016/11/23 11:11:29
Done.
|
| + |
| + task_queue_throttler_->DisableThrottling(); |
| + |
| + TaskQueueThrottler::TimeBudgetPool* pool = |
| + task_queue_throttler_->CreateTimeBudgetPool("test", base::nullopt, |
| + base::nullopt); |
| + task_queue_throttler_->IncreaseThrottleRefCount(timer_queue_.get()); |
| + |
| + LazyNow lazy_now(clock_.get()); |
| + pool->DisableThrottling(&lazy_now); |
| + |
| + pool->AddQueue(base::TimeTicks(), timer_queue_.get()); |
| + |
| + mock_task_runner_->RunUntilTime(base::TimeTicks() + |
| + base::TimeDelta::FromMilliseconds(100)); |
| + |
| + lazy_now = LazyNow(clock_.get()); |
| + pool->EnableThrottling(&lazy_now); |
| + |
| + timer_queue_->PostDelayedTask(FROM_HERE, |
| + base::Bind(&TestTask, &run_times, clock_.get()), |
| + base::TimeDelta::FromMilliseconds(200)); |
| + |
| + mock_task_runner_->RunUntilIdle(); |
| + |
| + EXPECT_THAT(run_times, ElementsAre(base::TimeTicks() + |
| + base::TimeDelta::FromMilliseconds(300))); |
| +} |
| + |
| } // namespace scheduler |
| } // namespace blink |