| Index: third_party/WebKit/Source/platform/scheduler/base/task_queue_impl.cc
|
| diff --git a/third_party/WebKit/Source/platform/scheduler/base/task_queue_impl.cc b/third_party/WebKit/Source/platform/scheduler/base/task_queue_impl.cc
|
| index 7a8da55f6de9817fac85eedcd6f3e781f0885529..fcc7134e9eb1521b5388bbc1d8a7e92b1c7fdcbe 100644
|
| --- a/third_party/WebKit/Source/platform/scheduler/base/task_queue_impl.cc
|
| +++ b/third_party/WebKit/Source/platform/scheduler/base/task_queue_impl.cc
|
| @@ -51,7 +51,7 @@ TaskQueueImpl::~TaskQueueImpl() {
|
|
|
| TaskQueueImpl::Task::Task()
|
| : PendingTask(tracked_objects::Location(),
|
| - base::Closure(),
|
| + base::OnceClosure(),
|
| base::TimeTicks(),
|
| true),
|
| #ifndef NDEBUG
|
| @@ -62,11 +62,11 @@ TaskQueueImpl::Task::Task()
|
| }
|
|
|
| TaskQueueImpl::Task::Task(const tracked_objects::Location& posted_from,
|
| - const base::Closure& task,
|
| + base::OnceClosure task,
|
| base::TimeTicks desired_run_time,
|
| EnqueueOrder sequence_number,
|
| bool nestable)
|
| - : PendingTask(posted_from, task, desired_run_time, nestable),
|
| + : PendingTask(posted_from, std::move(task), desired_run_time, nestable),
|
| #ifndef NDEBUG
|
| enqueue_order_set_(false),
|
| #endif
|
| @@ -75,12 +75,12 @@ TaskQueueImpl::Task::Task(const tracked_objects::Location& posted_from,
|
| }
|
|
|
| TaskQueueImpl::Task::Task(const tracked_objects::Location& posted_from,
|
| - const base::Closure& task,
|
| + base::OnceClosure task,
|
| base::TimeTicks desired_run_time,
|
| EnqueueOrder sequence_number,
|
| bool nestable,
|
| EnqueueOrder enqueue_order)
|
| - : PendingTask(posted_from, task, desired_run_time, nestable),
|
| + : PendingTask(posted_from, std::move(task), desired_run_time, nestable),
|
| #ifndef NDEBUG
|
| enqueue_order_set_(true),
|
| #endif
|
| @@ -134,27 +134,31 @@ bool TaskQueueImpl::RunsTasksOnCurrentThread() const {
|
|
|
|
|
| bool TaskQueueImpl::PostDelayedTask(const tracked_objects::Location& from_here,
|
| - const base::Closure& task,
|
| + base::OnceClosure task,
|
| base::TimeDelta delay) {
|
| if (delay.is_zero())
|
| - return PostImmediateTaskImpl(from_here, task, TaskType::NORMAL);
|
| + return PostImmediateTaskImpl(from_here, std::move(task), TaskType::NORMAL);
|
|
|
| - return PostDelayedTaskImpl(from_here, task, delay, TaskType::NORMAL);
|
| + return PostDelayedTaskImpl(
|
| + from_here, std::move(task), delay, TaskType::NORMAL);
|
| }
|
|
|
| bool TaskQueueImpl::PostNonNestableDelayedTask(
|
| const tracked_objects::Location& from_here,
|
| - const base::Closure& task,
|
| + base::OnceClosure task,
|
| base::TimeDelta delay) {
|
| - if (delay.is_zero())
|
| - return PostImmediateTaskImpl(from_here, task, TaskType::NON_NESTABLE);
|
| + if (delay.is_zero()) {
|
| + return PostImmediateTaskImpl(
|
| + from_here, std::move(task), TaskType::NON_NESTABLE);
|
| + }
|
|
|
| - return PostDelayedTaskImpl(from_here, task, delay, TaskType::NON_NESTABLE);
|
| + return PostDelayedTaskImpl(
|
| + from_here, std::move(task), delay, TaskType::NON_NESTABLE);
|
| }
|
|
|
| bool TaskQueueImpl::PostImmediateTaskImpl(
|
| const tracked_objects::Location& from_here,
|
| - const base::Closure& task,
|
| + base::OnceClosure task,
|
| TaskType task_type) {
|
| base::AutoLock lock(any_thread_lock_);
|
| if (!any_thread().task_queue_manager)
|
| @@ -165,7 +169,7 @@ bool TaskQueueImpl::PostImmediateTaskImpl(
|
|
|
| PushOntoImmediateIncomingQueueLocked(
|
| from_here,
|
| - task,
|
| + std::move(task),
|
| base::TimeTicks(),
|
| sequence_number,
|
| task_type != TaskType::NON_NESTABLE);
|
| @@ -174,7 +178,7 @@ bool TaskQueueImpl::PostImmediateTaskImpl(
|
|
|
| bool TaskQueueImpl::PostDelayedTaskImpl(
|
| const tracked_objects::Location& from_here,
|
| - const base::Closure& task,
|
| + base::OnceClosure task,
|
| base::TimeDelta delay,
|
| TaskType task_type) {
|
| DCHECK_GT(delay, base::TimeDelta());
|
| @@ -189,7 +193,7 @@ bool TaskQueueImpl::PostDelayedTaskImpl(
|
| base::TimeTicks time_domain_now = main_thread_only().time_domain->Now();
|
| base::TimeTicks time_domain_delayed_run_time = time_domain_now + delay;
|
| PushOntoDelayedIncomingQueueFromMainThread(
|
| - Task(from_here, task, time_domain_delayed_run_time, sequence_number,
|
| + Task(from_here, std::move(task), time_domain_delayed_run_time, sequence_number,
|
| task_type != TaskType::NON_NESTABLE),
|
| time_domain_now);
|
| } else {
|
| @@ -207,8 +211,8 @@ bool TaskQueueImpl::PostDelayedTaskImpl(
|
| base::TimeTicks time_domain_now = any_thread().time_domain->Now();
|
| base::TimeTicks time_domain_delayed_run_time = time_domain_now + delay;
|
| PushOntoDelayedIncomingQueueLocked(
|
| - Task(from_here, task, time_domain_delayed_run_time, sequence_number,
|
| - task_type != TaskType::NON_NESTABLE));
|
| + Task(from_here, std::move(task), time_domain_delayed_run_time,
|
| + sequence_number, task_type != TaskType::NON_NESTABLE));
|
| }
|
| return true;
|
| }
|
| @@ -241,7 +245,7 @@ void TaskQueueImpl::PushOntoDelayedIncomingQueueLocked(Task pending_task) {
|
|
|
| void TaskQueueImpl::PushOntoImmediateIncomingQueueLocked(
|
| const tracked_objects::Location& posted_from,
|
| - const base::Closure& task,
|
| + base::OnceClosure task,
|
| base::TimeTicks desired_run_time,
|
| EnqueueOrder sequence_number,
|
| bool nestable) {
|
| @@ -260,7 +264,7 @@ void TaskQueueImpl::PushOntoImmediateIncomingQueueLocked(
|
| }
|
| }
|
| any_thread().immediate_incoming_queue.emplace(
|
| - posted_from, task, desired_run_time, sequence_number, nestable, sequence_number);
|
| + posted_from, std::move(task), desired_run_time, sequence_number, nestable, sequence_number);
|
| any_thread().task_queue_manager->DidQueueTask( any_thread().immediate_incoming_queue.back());
|
| TraceQueueSize(true);
|
| }
|
|
|