| Index: base/deferred_sequenced_task_runner.h
|
| diff --git a/base/deferred_sequenced_task_runner.h b/base/deferred_sequenced_task_runner.h
|
| index e5d57df5a0ba4ed095c4b6a71b66f56caf9fb14c..a731b0e66b7744a8f2b4fa60ede8acebb8aa54f9 100644
|
| --- a/base/deferred_sequenced_task_runner.h
|
| +++ b/base/deferred_sequenced_task_runner.h
|
| @@ -28,13 +28,13 @@ class BASE_EXPORT DeferredSequencedTaskRunner : public SequencedTaskRunner {
|
|
|
| // TaskRunner implementation
|
| bool PostDelayedTask(const tracked_objects::Location& from_here,
|
| - const Closure& task,
|
| + OnceClosure task,
|
| TimeDelta delay) override;
|
| bool RunsTasksOnCurrentThread() const override;
|
|
|
| // SequencedTaskRunner implementation
|
| bool PostNonNestableDelayedTask(const tracked_objects::Location& from_here,
|
| - const Closure& task,
|
| + OnceClosure task,
|
| TimeDelta delay) override;
|
|
|
| // Start the execution - posts all queued tasks to the target executor. The
|
| @@ -46,11 +46,13 @@ class BASE_EXPORT DeferredSequencedTaskRunner : public SequencedTaskRunner {
|
| private:
|
| struct DeferredTask {
|
| DeferredTask();
|
| - DeferredTask(const DeferredTask& other);
|
| + DeferredTask(DeferredTask&& other);
|
| ~DeferredTask();
|
|
|
| + DeferredTask& operator=(DeferredTask&& other);
|
| +
|
| tracked_objects::Location posted_from;
|
| - Closure task;
|
| + mutable OnceClosure task;
|
| // The delay this task was initially posted with.
|
| TimeDelta delay;
|
| bool is_non_nestable;
|
| @@ -60,7 +62,7 @@ class BASE_EXPORT DeferredSequencedTaskRunner : public SequencedTaskRunner {
|
|
|
| // Creates a |Task| object and adds it to |deferred_tasks_queue_|.
|
| void QueueDeferredTask(const tracked_objects::Location& from_here,
|
| - const Closure& task,
|
| + OnceClosure task,
|
| TimeDelta delay,
|
| bool is_non_nestable);
|
|
|
|
|