| 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 b64405dd471d50d5e09c8a42ec5d641d0eeac6e6..32bfe9fb8c0154618471d559268cf6d6a81cce18 100644
|
| --- a/base/task_scheduler/scheduler_thread_pool_impl.cc
|
| +++ b/base/task_scheduler/scheduler_thread_pool_impl.cc
|
| @@ -77,10 +77,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,
|
| @@ -124,10 +126,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,
|
|
|