Index: base/task_scheduler/scheduler_worker_pool_impl.cc |
diff --git a/base/task_scheduler/scheduler_worker_pool_impl.cc b/base/task_scheduler/scheduler_worker_pool_impl.cc |
index e5599dd6e6e3ae010ba04998aadf2ec9fbe518d0..799dbddb4487664fee7c68bbcc31fc512251131f 100644 |
--- a/base/task_scheduler/scheduler_worker_pool_impl.cc |
+++ b/base/task_scheduler/scheduler_worker_pool_impl.cc |
@@ -57,11 +57,11 @@ class SchedulerParallelTaskRunner : public TaskRunner { |
// TaskRunner: |
bool PostDelayedTask(const tracked_objects::Location& from_here, |
- const Closure& closure, |
+ OnceClosure closure, |
TimeDelta delay) override { |
// Post the task as part of a one-off single-task Sequence. |
return worker_pool_->PostTaskWithSequence( |
- MakeUnique<Task>(from_here, closure, traits_, delay), |
+ MakeUnique<Task>(from_here, std::move(closure), traits_, delay), |
make_scoped_refptr(new Sequence), nullptr); |
} |
@@ -92,9 +92,10 @@ class SchedulerSequencedTaskRunner : public SequencedTaskRunner { |
// SequencedTaskRunner: |
bool PostDelayedTask(const tracked_objects::Location& from_here, |
- const Closure& closure, |
+ OnceClosure closure, |
TimeDelta delay) override { |
- std::unique_ptr<Task> task(new Task(from_here, closure, traits_, delay)); |
+ std::unique_ptr<Task> task( |
+ new Task(from_here, std::move(closure), traits_, delay)); |
task->sequenced_task_runner_ref = this; |
// Post the task as part of |sequence_|. |
@@ -103,10 +104,10 @@ class SchedulerSequencedTaskRunner : public SequencedTaskRunner { |
} |
bool PostNonNestableDelayedTask(const tracked_objects::Location& from_here, |
- const Closure& closure, |
+ OnceClosure closure, |
base::TimeDelta delay) override { |
// Tasks are never nested within the task scheduler. |
- return PostDelayedTask(from_here, closure, delay); |
+ return PostDelayedTask(from_here, std::move(closure), delay); |
} |
bool RunsTasksOnCurrentThread() const override { |
@@ -175,9 +176,10 @@ class SchedulerWorkerPoolImpl::SchedulerSingleThreadTaskRunner : |
// SingleThreadTaskRunner: |
bool PostDelayedTask(const tracked_objects::Location& from_here, |
- const Closure& closure, |
+ OnceClosure closure, |
TimeDelta delay) override { |
- std::unique_ptr<Task> task(new Task(from_here, closure, traits_, delay)); |
+ std::unique_ptr<Task> task( |
+ new Task(from_here, std::move(closure), traits_, delay)); |
task->single_thread_task_runner_ref = this; |
// Post the task to be executed by |worker_| as part of |sequence_|. |
@@ -186,10 +188,10 @@ class SchedulerWorkerPoolImpl::SchedulerSingleThreadTaskRunner : |
} |
bool PostNonNestableDelayedTask(const tracked_objects::Location& from_here, |
- const Closure& closure, |
+ OnceClosure closure, |
base::TimeDelta delay) override { |
// Tasks are never nested within the task scheduler. |
- return PostDelayedTask(from_here, closure, delay); |
+ return PostDelayedTask(from_here, std::move(closure), delay); |
} |
bool RunsTasksOnCurrentThread() const override { |