| 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 0eba0f7f0e13df7687fc995b3d7893abda4c9703..27afa38724fbfb5339811ef4d30fce9316187af2 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,
|
|
|