Index: base/message_loop/message_loop.cc |
diff --git a/base/message_loop/message_loop.cc b/base/message_loop/message_loop.cc |
index 8a2f213156aa3e93ebf12aec36f79bb773937aa0..3248a402f5f7f964338c79dbe546c8559fb8d005 100644 |
--- a/base/message_loop/message_loop.cc |
+++ b/base/message_loop/message_loop.cc |
@@ -277,17 +277,15 @@ void MessageLoop::RemoveNestingObserver(NestingObserver* observer) { |
} |
#if !(defined(OS_MACOSX) && !defined(OS_IOS)) |
-void MessageLoop::PostTask( |
- const tracked_objects::Location& from_here, |
- const Closure& task) { |
- task_runner_->PostTask(from_here, task); |
+void MessageLoop::PostTask(const tracked_objects::Location& from_here, |
+ OnceClosure task) { |
+ task_runner_->PostTask(from_here, std::move(task)); |
} |
-void MessageLoop::PostDelayedTask( |
- const tracked_objects::Location& from_here, |
- const Closure& task, |
- TimeDelta delay) { |
- task_runner_->PostDelayedTask(from_here, task, delay); |
+void MessageLoop::PostDelayedTask(const tracked_objects::Location& from_here, |
+ OnceClosure task, |
+ TimeDelta delay) { |
+ task_runner_->PostDelayedTask(from_here, std::move(task), delay); |
} |
#endif // !(defined(OS_MACOSX) && !defined(OS_IOS)) |
@@ -458,15 +456,15 @@ bool MessageLoop::ProcessNextDelayedNonNestableTask() { |
if (deferred_non_nestable_work_queue_.empty()) |
return false; |
- PendingTask pending_task = |
- std::move(deferred_non_nestable_work_queue_.front()); |
+ PendingTask pending_task = std::move( |
+ const_cast<PendingTask&>(deferred_non_nestable_work_queue_.front())); |
deferred_non_nestable_work_queue_.pop(); |
- RunTask(pending_task); |
+ RunTask(std::move(pending_task)); |
return true; |
} |
-void MessageLoop::RunTask(const PendingTask& pending_task) { |
+void MessageLoop::RunTask(PendingTask pending_task) { |
DCHECK(nestable_tasks_allowed_); |
#if defined(OS_WIN) |
@@ -485,7 +483,7 @@ void MessageLoop::RunTask(const PendingTask& pending_task) { |
FOR_EACH_OBSERVER(TaskObserver, task_observers_, |
WillProcessTask(pending_task)); |
- task_annotator_.RunTask("MessageLoop::PostTask", pending_task); |
+ task_annotator_.RunTask("MessageLoop::PostTask", &pending_task); |
FOR_EACH_OBSERVER(TaskObserver, task_observers_, |
DidProcessTask(pending_task)); |
@@ -494,7 +492,7 @@ void MessageLoop::RunTask(const PendingTask& pending_task) { |
bool MessageLoop::DeferOrRunPendingTask(PendingTask pending_task) { |
if (pending_task.nestable || run_loop_->run_depth_ == 1) { |
- RunTask(pending_task); |
+ RunTask(std::move(pending_task)); |
// Show that we ran a task (Note: a new one might arrive as a |
// consequence!). |
return true; |