Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(532)

Unified Diff: base/deferred_sequenced_task_runner.h

Issue 2122543002: Replace Closure in TaskRunner::PostTask with OneShotCallback (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@07_oneshot
Patch Set: fix Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « base/debug/task_annotator_unittest.cc ('k') | base/deferred_sequenced_task_runner.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
« no previous file with comments | « base/debug/task_annotator_unittest.cc ('k') | base/deferred_sequenced_task_runner.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698