| 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 a884b48aeb81be63a156531fe1ce02754be0025a..e5747be75aa82507845db40e8ec06b6cb3c0c54b 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
|
| @@ -18,6 +18,7 @@
|
| #include "platform/scheduler/base/test_time_source.h"
|
| #include "platform/scheduler/child/scheduler_tqm_delegate_for_test.h"
|
| #include "platform/scheduler/renderer/auto_advancing_virtual_time_domain.h"
|
| +#include "platform/scheduler/renderer/budget_pool.h"
|
| #include "platform/scheduler/renderer/renderer_scheduler_impl.h"
|
| #include "platform/scheduler/renderer/web_frame_scheduler_impl.h"
|
| #include "platform/scheduler/renderer/web_view_scheduler_impl.h"
|
| @@ -491,42 +492,6 @@ TEST_F(TaskQueueThrottlerTest, IncrementThenEnableVirtualTime) {
|
| EXPECT_EQ(timer_queue_->GetTimeDomain(), scheduler_->GetVirtualTimeDomain());
|
| }
|
|
|
| -TEST_F(TaskQueueThrottlerTest, TimeBudgetPool) {
|
| - TaskQueueThrottler::TimeBudgetPool* pool =
|
| - task_queue_throttler_->CreateTimeBudgetPool("test", base::nullopt,
|
| - base::nullopt);
|
| -
|
| - base::TimeTicks time_zero = clock_->NowTicks();
|
| -
|
| - pool->SetTimeBudgetRecoveryRate(time_zero, 0.1);
|
| -
|
| - EXPECT_TRUE(pool->HasEnoughBudgetToRun(time_zero));
|
| - EXPECT_EQ(time_zero, pool->GetNextAllowedRunTime());
|
| -
|
| - // Run an expensive task and make sure that we're throttled.
|
| - pool->RecordTaskRunTime(time_zero,
|
| - time_zero + base::TimeDelta::FromMilliseconds(100));
|
| -
|
| - EXPECT_FALSE(pool->HasEnoughBudgetToRun(
|
| - time_zero + base::TimeDelta::FromMilliseconds(500)));
|
| - EXPECT_EQ(time_zero + base::TimeDelta::FromMilliseconds(1000),
|
| - pool->GetNextAllowedRunTime());
|
| - EXPECT_TRUE(pool->HasEnoughBudgetToRun(
|
| - time_zero + base::TimeDelta::FromMilliseconds(1000)));
|
| -
|
| - // Run a cheap task and make sure that it doesn't affect anything.
|
| - EXPECT_TRUE(pool->HasEnoughBudgetToRun(
|
| - time_zero + base::TimeDelta::FromMilliseconds(2000)));
|
| - pool->RecordTaskRunTime(time_zero + base::TimeDelta::FromMilliseconds(2000),
|
| - time_zero + base::TimeDelta::FromMilliseconds(2020));
|
| - EXPECT_TRUE(pool->HasEnoughBudgetToRun(
|
| - time_zero + base::TimeDelta::FromMilliseconds(2020)));
|
| - EXPECT_EQ(time_zero + base::TimeDelta::FromMilliseconds(2020),
|
| - pool->GetNextAllowedRunTime());
|
| -
|
| - pool->Close();
|
| -}
|
| -
|
| namespace {
|
|
|
| void ExpensiveTestTask(std::vector<base::TimeTicks>* run_times,
|
| @@ -540,9 +505,8 @@ void ExpensiveTestTask(std::vector<base::TimeTicks>* run_times,
|
| TEST_F(TaskQueueThrottlerTest, TimeBasedThrottling) {
|
| std::vector<base::TimeTicks> run_times;
|
|
|
| - TaskQueueThrottler::TimeBudgetPool* pool =
|
| - task_queue_throttler_->CreateTimeBudgetPool("test", base::nullopt,
|
| - base::nullopt);
|
| + TimeBudgetPool* pool = task_queue_throttler_->CreateTimeBudgetPool(
|
| + "test", base::nullopt, base::nullopt);
|
|
|
| pool->SetTimeBudgetRecoveryRate(base::TimeTicks(), 0.1);
|
| pool->AddQueue(base::TimeTicks(), timer_queue_.get());
|
| @@ -590,9 +554,8 @@ TEST_F(TaskQueueThrottlerTest, TimeBasedThrottling) {
|
| TEST_F(TaskQueueThrottlerTest, EnableAndDisableTimeBudgetPool) {
|
| std::vector<base::TimeTicks> run_times;
|
|
|
| - TaskQueueThrottler::TimeBudgetPool* pool =
|
| - task_queue_throttler_->CreateTimeBudgetPool("test", base::nullopt,
|
| - base::nullopt);
|
| + TimeBudgetPool* pool = task_queue_throttler_->CreateTimeBudgetPool(
|
| + "test", base::nullopt, base::nullopt);
|
| EXPECT_TRUE(pool->IsThrottlingEnabled());
|
|
|
| pool->SetTimeBudgetRecoveryRate(base::TimeTicks(), 0.1);
|
| @@ -651,9 +614,8 @@ TEST_F(TaskQueueThrottlerTest, EnableAndDisableTimeBudgetPool) {
|
| TEST_F(TaskQueueThrottlerTest, ImmediateTasksTimeBudgetThrottling) {
|
| std::vector<base::TimeTicks> run_times;
|
|
|
| - TaskQueueThrottler::TimeBudgetPool* pool =
|
| - task_queue_throttler_->CreateTimeBudgetPool("test", base::nullopt,
|
| - base::nullopt);
|
| + TimeBudgetPool* pool = task_queue_throttler_->CreateTimeBudgetPool(
|
| + "test", base::nullopt, base::nullopt);
|
|
|
| pool->SetTimeBudgetRecoveryRate(base::TimeTicks(), 0.1);
|
| pool->AddQueue(base::TimeTicks(), timer_queue_.get());
|
| @@ -700,9 +662,8 @@ TEST_F(TaskQueueThrottlerTest, TwoQueuesTimeBudgetThrottling) {
|
| scoped_refptr<TaskQueue> second_queue =
|
| scheduler_->NewTimerTaskRunner(TaskQueue::QueueType::TEST);
|
|
|
| - TaskQueueThrottler::TimeBudgetPool* pool =
|
| - task_queue_throttler_->CreateTimeBudgetPool("test", base::nullopt,
|
| - base::nullopt);
|
| + TimeBudgetPool* pool = task_queue_throttler_->CreateTimeBudgetPool(
|
| + "test", base::nullopt, base::nullopt);
|
|
|
| pool->SetTimeBudgetRecoveryRate(base::TimeTicks(), 0.1);
|
| pool->AddQueue(base::TimeTicks(), timer_queue_.get());
|
| @@ -735,9 +696,8 @@ TEST_F(TaskQueueThrottlerTest, DisabledTimeBudgetDoesNotAffectThrottledQueues) {
|
| std::vector<base::TimeTicks> run_times;
|
| LazyNow lazy_now(clock_.get());
|
|
|
| - TaskQueueThrottler::TimeBudgetPool* pool =
|
| - task_queue_throttler_->CreateTimeBudgetPool("test", base::nullopt,
|
| - base::nullopt);
|
| + TimeBudgetPool* pool = task_queue_throttler_->CreateTimeBudgetPool(
|
| + "test", base::nullopt, base::nullopt);
|
| pool->SetTimeBudgetRecoveryRate(lazy_now.Now(), 0.1);
|
| pool->DisableThrottling(&lazy_now);
|
|
|
| @@ -764,9 +724,8 @@ TEST_F(TaskQueueThrottlerTest,
|
| TimeBudgetThrottlingDoesNotAffectUnthrottledQueues) {
|
| std::vector<base::TimeTicks> run_times;
|
|
|
| - TaskQueueThrottler::TimeBudgetPool* pool =
|
| - task_queue_throttler_->CreateTimeBudgetPool("test", base::nullopt,
|
| - base::nullopt);
|
| + TimeBudgetPool* pool = task_queue_throttler_->CreateTimeBudgetPool(
|
| + "test", base::nullopt, base::nullopt);
|
| pool->SetTimeBudgetRecoveryRate(base::TimeTicks(), 0.1);
|
|
|
| LazyNow lazy_now(clock_.get());
|
| @@ -792,9 +751,8 @@ TEST_F(TaskQueueThrottlerTest,
|
| TEST_F(TaskQueueThrottlerTest, MaxThrottlingDuration) {
|
| std::vector<base::TimeTicks> run_times;
|
|
|
| - TaskQueueThrottler::TimeBudgetPool* pool =
|
| - task_queue_throttler_->CreateTimeBudgetPool(
|
| - "test", base::nullopt, base::TimeDelta::FromMinutes(1));
|
| + TimeBudgetPool* pool = task_queue_throttler_->CreateTimeBudgetPool(
|
| + "test", base::nullopt, base::TimeDelta::FromMinutes(1));
|
|
|
| pool->SetTimeBudgetRecoveryRate(base::TimeTicks(), 0.001);
|
| pool->AddQueue(base::TimeTicks(), timer_queue_.get());
|
| @@ -893,9 +851,8 @@ TEST_F(TaskQueueThrottlerTest, ReportThrottling) {
|
| std::vector<base::TimeTicks> run_times;
|
| std::vector<base::TimeDelta> reported_throttling_times;
|
|
|
| - TaskQueueThrottler::TimeBudgetPool* pool =
|
| - task_queue_throttler_->CreateTimeBudgetPool("test", base::nullopt,
|
| - base::nullopt);
|
| + TimeBudgetPool* pool = task_queue_throttler_->CreateTimeBudgetPool(
|
| + "test", base::nullopt, base::nullopt);
|
|
|
| pool->SetTimeBudgetRecoveryRate(base::TimeTicks(), 0.1);
|
| pool->AddQueue(base::TimeTicks(), timer_queue_.get());
|
| @@ -934,9 +891,8 @@ TEST_F(TaskQueueThrottlerTest, ReportThrottling) {
|
| TEST_F(TaskQueueThrottlerTest, GrantAdditionalBudget) {
|
| std::vector<base::TimeTicks> run_times;
|
|
|
| - TaskQueueThrottler::TimeBudgetPool* pool =
|
| - task_queue_throttler_->CreateTimeBudgetPool("test", base::nullopt,
|
| - base::nullopt);
|
| + TimeBudgetPool* pool = task_queue_throttler_->CreateTimeBudgetPool(
|
| + "test", base::nullopt, base::nullopt);
|
|
|
| pool->SetTimeBudgetRecoveryRate(base::TimeTicks(), 0.1);
|
| pool->AddQueue(base::TimeTicks(), timer_queue_.get());
|
| @@ -975,9 +931,8 @@ TEST_F(TaskQueueThrottlerTest, EnableAndDisableThrottlingAndTimeBudgets) {
|
|
|
| task_queue_throttler_->DisableThrottling();
|
|
|
| - TaskQueueThrottler::TimeBudgetPool* pool =
|
| - task_queue_throttler_->CreateTimeBudgetPool("test", base::nullopt,
|
| - base::nullopt);
|
| + TimeBudgetPool* pool = task_queue_throttler_->CreateTimeBudgetPool(
|
| + "test", base::nullopt, base::nullopt);
|
| task_queue_throttler_->IncreaseThrottleRefCount(timer_queue_.get());
|
|
|
| LazyNow lazy_now(clock_.get());
|
| @@ -1008,9 +963,8 @@ TEST_F(TaskQueueThrottlerTest, AddQueueToBudgetPoolWhenThrottlingDisabled) {
|
|
|
| task_queue_throttler_->DisableThrottling();
|
|
|
| - TaskQueueThrottler::TimeBudgetPool* pool =
|
| - task_queue_throttler_->CreateTimeBudgetPool("test", base::nullopt,
|
| - base::nullopt);
|
| + TimeBudgetPool* pool = task_queue_throttler_->CreateTimeBudgetPool(
|
| + "test", base::nullopt, base::nullopt);
|
| task_queue_throttler_->IncreaseThrottleRefCount(timer_queue_.get());
|
|
|
| mock_task_runner_->RunUntilTime(base::TimeTicks() +
|
|
|