| Index: base/task_scheduler/scheduler_thread_pool_impl.cc
|
| diff --git a/base/task_scheduler/scheduler_thread_pool_impl.cc b/base/task_scheduler/scheduler_thread_pool_impl.cc
|
| index ab9bbf6caa88e81dd70bbf3e37e754157fae6775..dc88a871b6e35b2e3d2df8a4a569f991f2dff1ac 100644
|
| --- a/base/task_scheduler/scheduler_thread_pool_impl.cc
|
| +++ b/base/task_scheduler/scheduler_thread_pool_impl.cc
|
| @@ -78,10 +78,12 @@ class SchedulerSequencedTaskRunner : public SequencedTaskRunner {
|
| bool PostDelayedTask(const tracked_objects::Location& from_here,
|
| const Closure& closure,
|
| TimeDelta delay) override {
|
| + std::unique_ptr<Task> task(new Task(from_here, closure, traits_, delay));
|
| + task->sequenced_task_runner_ref = this;
|
| +
|
| // Post the task as part of |sequence_|.
|
| - return thread_pool_->PostTaskWithSequence(
|
| - WrapUnique(new Task(from_here, closure, traits_, delay)), sequence_,
|
| - nullptr);
|
| + return thread_pool_->PostTaskWithSequence(std::move(task), sequence_,
|
| + nullptr);
|
| }
|
|
|
| bool PostNonNestableDelayedTask(const tracked_objects::Location& from_here,
|
| @@ -125,10 +127,12 @@ class SchedulerSingleThreadTaskRunner : public SingleThreadTaskRunner {
|
| bool PostDelayedTask(const tracked_objects::Location& from_here,
|
| const Closure& closure,
|
| TimeDelta delay) override {
|
| + std::unique_ptr<Task> task(new Task(from_here, closure, traits_, delay));
|
| + task->single_thread_task_runner_ref = this;
|
| +
|
| // Post the task to be executed by |worker_thread_| as part of |sequence_|.
|
| - return thread_pool_->PostTaskWithSequence(
|
| - WrapUnique(new Task(from_here, closure, traits_, delay)), sequence_,
|
| - worker_thread_);
|
| + return thread_pool_->PostTaskWithSequence(std::move(task), sequence_,
|
| + worker_thread_);
|
| }
|
|
|
| bool PostNonNestableDelayedTask(const tracked_objects::Location& from_here,
|
|
|