Index: third_party/WebKit/Source/platform/scheduler/base/task_queue_manager_unittest.cc |
diff --git a/third_party/WebKit/Source/platform/scheduler/base/task_queue_manager_unittest.cc b/third_party/WebKit/Source/platform/scheduler/base/task_queue_manager_unittest.cc |
index 185e95f9169747b88537bf7d3912647aaf139983..bdbf2896e30f626901dee1a0f4b8c04740200ef9 100644 |
--- a/third_party/WebKit/Source/platform/scheduler/base/task_queue_manager_unittest.cc |
+++ b/third_party/WebKit/Source/platform/scheduler/base/task_queue_manager_unittest.cc |
@@ -133,8 +133,8 @@ class TaskQueueManagerTest : public testing::Test { |
manager_->NewTaskQueue(TaskQueue::Spec(TaskQueue::QueueType::TEST))); |
} |
- void WakeUpReadyDelayedQueues(LazyNow lazy_now) { |
- manager_->WakeUpReadyDelayedQueues(&lazy_now); |
+ void WakeupReadyDelayedQueues(LazyNow lazy_now) { |
+ manager_->WakeupReadyDelayedQueues(&lazy_now); |
} |
using NextTaskDelay = TaskQueueManagerForTest::NextTaskDelay; |
@@ -401,7 +401,7 @@ TEST_F(TaskQueueManagerTest, HasPendingImmediateWork_DelayedTask) { |
EXPECT_TRUE(runners_[0]->HasPendingImmediateWork()); |
// Move the task into the |delayed_work_queue|. |
- WakeUpReadyDelayedQueues(LazyNow(now_src_.get())); |
+ WakeupReadyDelayedQueues(LazyNow(now_src_.get())); |
EXPECT_FALSE(runners_[0]->delayed_work_queue()->Empty()); |
EXPECT_TRUE(runners_[0]->HasPendingImmediateWork()); |
@@ -1163,12 +1163,12 @@ TEST_F(TaskQueueManagerTest, HasPendingImmediateWork_DelayedTasks) { |
// Move time forwards until just before the delayed task should run. |
now_src_->Advance(base::TimeDelta::FromMilliseconds(10)); |
- WakeUpReadyDelayedQueues(LazyNow(now_src_.get())); |
+ WakeupReadyDelayedQueues(LazyNow(now_src_.get())); |
EXPECT_FALSE(runners_[0]->HasPendingImmediateWork()); |
// Force the delayed task onto the work queue. |
now_src_->Advance(base::TimeDelta::FromMilliseconds(2)); |
- WakeUpReadyDelayedQueues(LazyNow(now_src_.get())); |
+ WakeupReadyDelayedQueues(LazyNow(now_src_.get())); |
EXPECT_TRUE(runners_[0]->HasPendingImmediateWork()); |
test_task_runner_->RunUntilIdle(); |
@@ -1545,9 +1545,9 @@ TEST_F(TaskQueueManagerTest, TimeDomainsAreIndependant) { |
base::TimeTicks start_time = manager_->Delegate()->NowTicks(); |
std::unique_ptr<VirtualTimeDomain> domain_a( |
- new VirtualTimeDomain(start_time)); |
+ new VirtualTimeDomain(nullptr, start_time)); |
std::unique_ptr<VirtualTimeDomain> domain_b( |
- new VirtualTimeDomain(start_time)); |
+ new VirtualTimeDomain(nullptr, start_time)); |
manager_->RegisterTimeDomain(domain_a.get()); |
manager_->RegisterTimeDomain(domain_b.get()); |
runners_[0]->SetTimeDomain(domain_a.get()); |
@@ -1592,7 +1592,7 @@ TEST_F(TaskQueueManagerTest, TimeDomainMigration) { |
base::TimeTicks start_time = manager_->Delegate()->NowTicks(); |
std::unique_ptr<VirtualTimeDomain> domain_a( |
- new VirtualTimeDomain(start_time)); |
+ new VirtualTimeDomain(nullptr, start_time)); |
manager_->RegisterTimeDomain(domain_a.get()); |
runners_[0]->SetTimeDomain(domain_a.get()); |
@@ -1612,7 +1612,7 @@ TEST_F(TaskQueueManagerTest, TimeDomainMigration) { |
EXPECT_THAT(run_order, ElementsAre(1, 2)); |
std::unique_ptr<VirtualTimeDomain> domain_b( |
- new VirtualTimeDomain(start_time)); |
+ new VirtualTimeDomain(nullptr, start_time)); |
manager_->RegisterTimeDomain(domain_b.get()); |
runners_[0]->SetTimeDomain(domain_b.get()); |
@@ -1633,9 +1633,9 @@ TEST_F(TaskQueueManagerTest, TimeDomainMigrationWithIncomingImmediateTasks) { |
base::TimeTicks start_time = manager_->Delegate()->NowTicks(); |
std::unique_ptr<VirtualTimeDomain> domain_a( |
- new VirtualTimeDomain(start_time)); |
+ new VirtualTimeDomain(nullptr, start_time)); |
std::unique_ptr<VirtualTimeDomain> domain_b( |
- new VirtualTimeDomain(start_time)); |
+ new VirtualTimeDomain(nullptr, start_time)); |
manager_->RegisterTimeDomain(domain_a.get()); |
manager_->RegisterTimeDomain(domain_b.get()); |
@@ -1690,64 +1690,68 @@ TEST_F(TaskQueueManagerTest, |
} |
namespace { |
- |
-class MockTaskQueueObserver : public TaskQueue::Observer { |
+class MockTimeDomainObserver : public TimeDomain::Observer { |
public: |
- ~MockTaskQueueObserver() override {} |
+ ~MockTimeDomainObserver() override {} |
- MOCK_METHOD2(OnQueueNextWakeUpChanged, void(TaskQueue*, base::TimeTicks)); |
+ MOCK_METHOD1(OnTimeDomainHasImmediateWork, void(TaskQueue*)); |
+ MOCK_METHOD1(OnTimeDomainHasDelayedWork, void(TaskQueue*)); |
}; |
- |
} // namespace |
-TEST_F(TaskQueueManagerTest, TaskQueueObserver_ImmediateTask) { |
+TEST_F(TaskQueueManagerTest, TimeDomainObserver_ImmediateTask) { |
Initialize(1u); |
- MockTaskQueueObserver observer; |
- runners_[0]->SetObserver(&observer); |
+ MockTimeDomainObserver observer; |
+ std::unique_ptr<VirtualTimeDomain> domain( |
+ new VirtualTimeDomain(&observer, manager_->Delegate()->NowTicks())); |
+ manager_->RegisterTimeDomain(domain.get()); |
+ runners_[0]->SetTimeDomain(domain.get()); |
// We should get a notification when a task is posted on an empty queue. |
- EXPECT_CALL(observer, |
- OnQueueNextWakeUpChanged(runners_[0].get(), base::TimeTicks())); |
+ EXPECT_CALL(observer, OnTimeDomainHasImmediateWork(runners_[0].get())); |
runners_[0]->PostTask(FROM_HERE, base::Bind(&NopTask)); |
Mock::VerifyAndClearExpectations(&observer); |
// But not subsequently. |
- EXPECT_CALL(observer, OnQueueNextWakeUpChanged(_, _)).Times(0); |
+ EXPECT_CALL(observer, OnTimeDomainHasImmediateWork(_)).Times(0); |
runners_[0]->PostTask(FROM_HERE, base::Bind(&NopTask)); |
Mock::VerifyAndClearExpectations(&observer); |
// Unless the immediate work queue is emptied. |
runners_[0]->ReloadImmediateWorkQueueIfEmpty(); |
- EXPECT_CALL(observer, |
- OnQueueNextWakeUpChanged(runners_[0].get(), base::TimeTicks())); |
+ EXPECT_CALL(observer, OnTimeDomainHasImmediateWork(runners_[0].get())); |
runners_[0]->PostTask(FROM_HERE, base::Bind(&NopTask)); |
// Tidy up. |
runners_[0]->UnregisterTaskQueue(); |
+ manager_->UnregisterTimeDomain(domain.get()); |
} |
-TEST_F(TaskQueueManagerTest, TaskQueueObserver_DelayedTask) { |
+TEST_F(TaskQueueManagerTest, TimeDomainObserver_DelayedTask) { |
Initialize(1u); |
- MockTaskQueueObserver observer; |
- runners_[0]->SetObserver(&observer); |
+ MockTimeDomainObserver observer; |
+ std::unique_ptr<VirtualTimeDomain> domain( |
+ new VirtualTimeDomain(&observer, manager_->Delegate()->NowTicks())); |
+ manager_->RegisterTimeDomain(domain.get()); |
+ runners_[0]->SetTimeDomain(domain.get()); |
// We should get a notification when a delayed task is posted on an empty |
// queue. |
- EXPECT_CALL(observer, OnQueueNextWakeUpChanged(runners_[0].get(), _)); |
+ EXPECT_CALL(observer, OnTimeDomainHasDelayedWork(runners_[0].get())); |
runners_[0]->PostDelayedTask(FROM_HERE, base::Bind(&NopTask), |
base::TimeDelta::FromSeconds(10)); |
Mock::VerifyAndClearExpectations(&observer); |
// We should not get a notification for a longer delay. |
- EXPECT_CALL(observer, OnQueueNextWakeUpChanged(_, _)).Times(0); |
+ EXPECT_CALL(observer, OnTimeDomainHasDelayedWork(_)).Times(0); |
runners_[0]->PostDelayedTask(FROM_HERE, base::Bind(&NopTask), |
base::TimeDelta::FromSeconds(100)); |
Mock::VerifyAndClearExpectations(&observer); |
// We should get a notification for a shorter delay. |
- EXPECT_CALL(observer, OnQueueNextWakeUpChanged(runners_[0].get(), _)); |
+ EXPECT_CALL(observer, OnTimeDomainHasDelayedWork(runners_[0].get())); |
runners_[0]->PostDelayedTask(FROM_HERE, base::Bind(&NopTask), |
base::TimeDelta::FromSeconds(1)); |
Mock::VerifyAndClearExpectations(&observer); |
@@ -1757,25 +1761,27 @@ TEST_F(TaskQueueManagerTest, TaskQueueObserver_DelayedTask) { |
voter->SetQueueEnabled(false); |
// When a queue has been enabled, we may get a notification if the |
- // TimeDomain's next scheduled wake_up has changed. |
- EXPECT_CALL(observer, OnQueueNextWakeUpChanged(runners_[0].get(), _)); |
+ // TimeDomain's next scheduled wakeup has changed. |
+ EXPECT_CALL(observer, OnTimeDomainHasDelayedWork(runners_[0].get())); |
voter->SetQueueEnabled(true); |
// Tidy up. |
runners_[0]->UnregisterTaskQueue(); |
+ manager_->UnregisterTimeDomain(domain.get()); |
} |
-TEST_F(TaskQueueManagerTest, TaskQueueObserver_DelayedTaskMultipleQueues) { |
+TEST_F(TaskQueueManagerTest, TimeDomainObserver_DelayedTaskMultipleQueues) { |
Initialize(2u); |
- MockTaskQueueObserver observer; |
- runners_[0]->SetObserver(&observer); |
- runners_[1]->SetObserver(&observer); |
+ MockTimeDomainObserver observer; |
+ std::unique_ptr<VirtualTimeDomain> domain( |
+ new VirtualTimeDomain(&observer, manager_->Delegate()->NowTicks())); |
+ manager_->RegisterTimeDomain(domain.get()); |
+ runners_[0]->SetTimeDomain(domain.get()); |
+ runners_[1]->SetTimeDomain(domain.get()); |
- EXPECT_CALL(observer, OnQueueNextWakeUpChanged(runners_[0].get(), _)) |
- .Times(1); |
- EXPECT_CALL(observer, OnQueueNextWakeUpChanged(runners_[1].get(), _)) |
- .Times(1); |
+ EXPECT_CALL(observer, OnTimeDomainHasDelayedWork(runners_[0].get())).Times(1); |
+ EXPECT_CALL(observer, OnTimeDomainHasDelayedWork(runners_[1].get())).Times(1); |
runners_[0]->PostDelayedTask(FROM_HERE, base::Bind(&NopTask), |
base::TimeDelta::FromSeconds(1)); |
runners_[1]->PostDelayedTask(FROM_HERE, base::Bind(&NopTask), |
@@ -1788,29 +1794,30 @@ TEST_F(TaskQueueManagerTest, TaskQueueObserver_DelayedTaskMultipleQueues) { |
runners_[1]->CreateQueueEnabledVoter(); |
// Disabling a queue should not trigger a notification. |
- EXPECT_CALL(observer, OnQueueNextWakeUpChanged(_, _)).Times(0); |
+ EXPECT_CALL(observer, OnTimeDomainHasDelayedWork(_)).Times(0); |
voter0->SetQueueEnabled(false); |
Mock::VerifyAndClearExpectations(&observer); |
// Re-enabling it should should also trigger a notification. |
- EXPECT_CALL(observer, OnQueueNextWakeUpChanged(runners_[0].get(), _)); |
+ EXPECT_CALL(observer, OnTimeDomainHasDelayedWork(runners_[0].get())); |
voter0->SetQueueEnabled(true); |
Mock::VerifyAndClearExpectations(&observer); |
// Disabling a queue should not trigger a notification. |
- EXPECT_CALL(observer, OnQueueNextWakeUpChanged(_, _)).Times(0); |
+ EXPECT_CALL(observer, OnTimeDomainHasDelayedWork(_)).Times(0); |
voter1->SetQueueEnabled(false); |
Mock::VerifyAndClearExpectations(&observer); |
// Re-enabling it should should trigger a notification. |
- EXPECT_CALL(observer, OnQueueNextWakeUpChanged(runners_[1].get(), _)); |
+ EXPECT_CALL(observer, OnTimeDomainHasDelayedWork(runners_[1].get())); |
voter1->SetQueueEnabled(true); |
Mock::VerifyAndClearExpectations(&observer); |
// Tidy up. |
- EXPECT_CALL(observer, OnQueueNextWakeUpChanged(_, _)).Times(AnyNumber()); |
+ EXPECT_CALL(observer, OnTimeDomainHasDelayedWork(_)).Times(AnyNumber()); |
runners_[0]->UnregisterTaskQueue(); |
runners_[1]->UnregisterTaskQueue(); |
+ manager_->UnregisterTimeDomain(domain.get()); |
} |
namespace { |
@@ -2214,16 +2221,16 @@ TEST_F(TaskQueueManagerTest, NoWakeUpsForCanceledDelayedTasks) { |
task2.weak_factory_.InvalidateWeakPtrs(); |
task3.weak_factory_.InvalidateWeakPtrs(); |
- std::set<base::TimeTicks> wake_up_times; |
+ std::set<base::TimeTicks> wakeup_times; |
RunUntilIdle(base::Bind( |
- [](std::set<base::TimeTicks>* wake_up_times, |
+ [](std::set<base::TimeTicks>* wakeup_times, |
base::SimpleTestTickClock* clock) { |
- wake_up_times->insert(clock->NowTicks()); |
+ wakeup_times->insert(clock->NowTicks()); |
}, |
- &wake_up_times, now_src_.get())); |
+ &wakeup_times, now_src_.get())); |
- EXPECT_THAT(wake_up_times, |
+ EXPECT_THAT(wakeup_times, |
ElementsAre(start_time + delay1, start_time + delay4)); |
EXPECT_THAT(run_times, ElementsAre(start_time + delay1, start_time + delay4)); |
} |
@@ -2262,16 +2269,16 @@ TEST_F(TaskQueueManagerTest, NoWakeUpsForCanceledDelayedTasksReversePostOrder) { |
task2.weak_factory_.InvalidateWeakPtrs(); |
task3.weak_factory_.InvalidateWeakPtrs(); |
- std::set<base::TimeTicks> wake_up_times; |
+ std::set<base::TimeTicks> wakeup_times; |
RunUntilIdle(base::Bind( |
- [](std::set<base::TimeTicks>* wake_up_times, |
+ [](std::set<base::TimeTicks>* wakeup_times, |
base::SimpleTestTickClock* clock) { |
- wake_up_times->insert(clock->NowTicks()); |
+ wakeup_times->insert(clock->NowTicks()); |
}, |
- &wake_up_times, now_src_.get())); |
+ &wakeup_times, now_src_.get())); |
- EXPECT_THAT(wake_up_times, |
+ EXPECT_THAT(wakeup_times, |
ElementsAre(start_time + delay1, start_time + delay4)); |
EXPECT_THAT(run_times, ElementsAre(start_time + delay1, start_time + delay4)); |
} |
@@ -2307,7 +2314,7 @@ TEST_F(TaskQueueManagerTest, TimeDomainWakeUpOnlyCancelledIfAllUsesCancelled) { |
task4.weak_factory_.GetWeakPtr(), &run_times), |
delay4); |
- // Post a non-canceled task with |delay3|. So we should still get a wake_up at |
+ // Post a non-canceled task with |delay3|. So we should still get a wakeup at |
// |delay3| even though we cancel |task3|. |
runners_[0]->PostDelayedTask(FROM_HERE, |
base::Bind(&CancelableTask::RecordTimeTask, |
@@ -2318,16 +2325,16 @@ TEST_F(TaskQueueManagerTest, TimeDomainWakeUpOnlyCancelledIfAllUsesCancelled) { |
task3.weak_factory_.InvalidateWeakPtrs(); |
task1.weak_factory_.InvalidateWeakPtrs(); |
- std::set<base::TimeTicks> wake_up_times; |
+ std::set<base::TimeTicks> wakeup_times; |
RunUntilIdle(base::Bind( |
- [](std::set<base::TimeTicks>* wake_up_times, |
+ [](std::set<base::TimeTicks>* wakeup_times, |
base::SimpleTestTickClock* clock) { |
- wake_up_times->insert(clock->NowTicks()); |
+ wakeup_times->insert(clock->NowTicks()); |
}, |
- &wake_up_times, now_src_.get())); |
+ &wakeup_times, now_src_.get())); |
- EXPECT_THAT(wake_up_times, |
+ EXPECT_THAT(wakeup_times, |
ElementsAre(start_time + delay1, start_time + delay3, |
start_time + delay4)); |
@@ -2832,7 +2839,7 @@ TEST_F(TaskQueueManagerTest, GetNextScheduledWakeUp) { |
runners_[0]->PostDelayedTask(FROM_HERE, base::Bind(&NopTask), delay2); |
EXPECT_EQ(start_time + delay2, runners_[0]->GetNextScheduledWakeUp()); |
- // We don't have wake_ups scheduled for disabled queues. |
+ // We don't have wakeups scheduled for disabled queues. |
std::unique_ptr<TaskQueue::QueueEnabledVoter> voter = |
runners_[0]->CreateQueueEnabledVoter(); |
voter->SetQueueEnabled(false); |
@@ -2853,9 +2860,6 @@ TEST_F(TaskQueueManagerTest, GetNextScheduledWakeUp) { |
TEST_F(TaskQueueManagerTest, SetTimeDomainForDisabledQueue) { |
Initialize(1u); |
- MockTaskQueueObserver observer; |
- runners_[0]->SetObserver(&observer); |
- |
runners_[0]->PostDelayedTask(FROM_HERE, base::Bind(&NopTask), |
base::TimeDelta::FromMilliseconds(1)); |
@@ -2863,11 +2867,12 @@ TEST_F(TaskQueueManagerTest, SetTimeDomainForDisabledQueue) { |
runners_[0]->CreateQueueEnabledVoter(); |
voter->SetQueueEnabled(false); |
+ MockTimeDomainObserver observer; |
// We should not get a notification for a disabled queue. |
- EXPECT_CALL(observer, OnQueueNextWakeUpChanged(_, _)).Times(0); |
+ EXPECT_CALL(observer, OnTimeDomainHasDelayedWork(_)).Times(0); |
std::unique_ptr<VirtualTimeDomain> domain( |
- new VirtualTimeDomain(manager_->Delegate()->NowTicks())); |
+ new VirtualTimeDomain(&observer, manager_->Delegate()->NowTicks())); |
manager_->RegisterTimeDomain(domain.get()); |
runners_[0]->SetTimeDomain(domain.get()); |