Index: base/task_scheduler/delayed_task_manager_unittest.cc |
diff --git a/base/task_scheduler/delayed_task_manager_unittest.cc b/base/task_scheduler/delayed_task_manager_unittest.cc |
index f964cda5a67ab720ab8c8f475f575aa227f466e4..f1c0a75349ef7712deb941dc72d479b42ba4e094 100644 |
--- a/base/task_scheduler/delayed_task_manager_unittest.cc |
+++ b/base/task_scheduler/delayed_task_manager_unittest.cc |
@@ -71,6 +71,17 @@ class MockSchedulerWorkerPool : public SchedulerWorkerPool { |
const SchedulerWorker* worker)); |
}; |
+// Posts |task|. The task will be forwarded to |worker_pool| with |sequence| |
+// and |worker| when it becomes ripe for execution. |worker| is a |
+// SchedulerWorker owned by |worker_pool| or nullptr. |
+void PostTaskToWorkerPool(scoped_refptr<Sequence> sequence, |
+ SchedulerWorker* worker, |
+ SchedulerWorkerPool* worker_pool, |
+ std::unique_ptr<Task> task) { |
+ worker_pool->PostTaskWithSequenceNow(std::move(task), std::move(sequence), |
+ worker); |
+} |
+ |
} // namespace |
// Verify that a delayed task isn't forwarded to its SchedulerWorkerPool before |
@@ -86,7 +97,9 @@ TEST(TaskSchedulerDelayedTaskManagerTest, DelayedTaskDoesNotRunTooEarly) { |
testing::StrictMock<MockSchedulerWorkerPool> worker_pool; |
// Send |task| to the DelayedTaskManager. |
- manager.AddDelayedTask(std::move(task), sequence, nullptr, &worker_pool); |
+ manager.AddDelayedTask( |
+ std::move(task), |
+ Bind(&PostTaskToWorkerPool, sequence, nullptr, Unretained(&worker_pool))); |
// Run tasks that are ripe for execution. Don't expect any call to the mock |
// method of |worker_pool|. |
@@ -107,7 +120,9 @@ TEST(TaskSchedulerDelayedTaskManagerTest, DelayedTaskRunsAfterDelay) { |
testing::StrictMock<MockSchedulerWorkerPool> worker_pool; |
// Send |task| to the DelayedTaskManager. |
- manager.AddDelayedTask(std::move(task), sequence, nullptr, &worker_pool); |
+ manager.AddDelayedTask( |
+ std::move(task), |
+ Bind(&PostTaskToWorkerPool, sequence, nullptr, Unretained(&worker_pool))); |
// Fast-forward time. Expect a call to the mock method of |worker_pool|. |
EXPECT_CALL(worker_pool, |
@@ -138,9 +153,15 @@ TEST(TaskSchedulerDelayedTaskManagerTest, DelayedTasksRunAfterDelay) { |
const Task* task_c_raw = task_c.get(); |
// Send tasks to the DelayedTaskManager. |
- manager.AddDelayedTask(std::move(task_a), sequence, nullptr, &worker_pool); |
- manager.AddDelayedTask(std::move(task_b), sequence, nullptr, &worker_pool); |
- manager.AddDelayedTask(std::move(task_c), sequence, nullptr, &worker_pool); |
+ manager.AddDelayedTask( |
+ std::move(task_a), |
+ Bind(&PostTaskToWorkerPool, sequence, nullptr, Unretained(&worker_pool))); |
+ manager.AddDelayedTask( |
+ std::move(task_b), |
+ Bind(&PostTaskToWorkerPool, sequence, nullptr, Unretained(&worker_pool))); |
+ manager.AddDelayedTask( |
+ std::move(task_c), |
+ Bind(&PostTaskToWorkerPool, sequence, nullptr, Unretained(&worker_pool))); |
// Run tasks that are ripe for execution on the service thread. Don't expect |
// any call to the mock method of |worker_pool|. |