Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(55)

Unified Diff: third_party/WebKit/Source/platform/scheduler/base/task_queue_manager_unittest.cc

Issue 2812703002: Revert of [scheduler] Add TaskQueue::Observer (Closed)
Patch Set: Manual Revert Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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());

Powered by Google App Engine
This is Rietveld 408576698