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

Side by Side Diff: content/browser/dom_storage/dom_storage_task_runner.cc

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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/dom_storage/dom_storage_task_runner.h" 5 #include "content/browser/dom_storage/dom_storage_task_runner.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/location.h" 9 #include "base/location.h"
10 #include "base/tracked_objects.h" 10 #include "base/tracked_objects.h"
(...skipping 17 matching lines...) Expand all
28 sequenced_worker_pool_(sequenced_worker_pool), 28 sequenced_worker_pool_(sequenced_worker_pool),
29 primary_sequence_token_(primary_sequence_token), 29 primary_sequence_token_(primary_sequence_token),
30 commit_sequence_token_(commit_sequence_token) { 30 commit_sequence_token_(commit_sequence_token) {
31 } 31 }
32 32
33 DOMStorageWorkerPoolTaskRunner::~DOMStorageWorkerPoolTaskRunner() { 33 DOMStorageWorkerPoolTaskRunner::~DOMStorageWorkerPoolTaskRunner() {
34 } 34 }
35 35
36 bool DOMStorageWorkerPoolTaskRunner::PostDelayedTask( 36 bool DOMStorageWorkerPoolTaskRunner::PostDelayedTask(
37 const tracked_objects::Location& from_here, 37 const tracked_objects::Location& from_here,
38 const base::Closure& task, 38 base::OnceClosure task,
39 base::TimeDelta delay) { 39 base::TimeDelta delay) {
40 // Note base::TaskRunner implements PostTask in terms of PostDelayedTask 40 // Note base::TaskRunner implements PostTask in terms of PostDelayedTask
41 // with a delay of zero, we detect that usage and avoid the unecessary 41 // with a delay of zero, we detect that usage and avoid the unecessary
42 // trip thru the message loop. 42 // trip thru the message loop.
43 if (delay.is_zero()) { 43 if (delay.is_zero()) {
44 return sequenced_worker_pool_->PostSequencedWorkerTaskWithShutdownBehavior( 44 return sequenced_worker_pool_->PostSequencedWorkerTaskWithShutdownBehavior(
45 primary_sequence_token_, from_here, task, 45 primary_sequence_token_, from_here, std::move(task),
46 base::SequencedWorkerPool::BLOCK_SHUTDOWN); 46 base::SequencedWorkerPool::BLOCK_SHUTDOWN);
47 } 47 }
48 // Post a task to call this->PostTask() after the delay. 48 // Post a task to call this->PostTask() after the delay.
49 return task_runner_->PostDelayedTask( 49 return task_runner_->PostDelayedTask(
50 FROM_HERE, 50 FROM_HERE,
51 base::Bind(base::IgnoreResult(&DOMStorageWorkerPoolTaskRunner::PostTask), 51 base::BindOnce(
52 this, from_here, task), 52 base::IgnoreResult(&DOMStorageWorkerPoolTaskRunner::PostTask), this,
53 from_here, std::move(task)),
53 delay); 54 delay);
54 } 55 }
55 56
56 bool DOMStorageWorkerPoolTaskRunner::PostShutdownBlockingTask( 57 bool DOMStorageWorkerPoolTaskRunner::PostShutdownBlockingTask(
57 const tracked_objects::Location& from_here, 58 const tracked_objects::Location& from_here,
58 SequenceID sequence_id, 59 SequenceID sequence_id,
59 const base::Closure& task) { 60 base::OnceClosure task) {
60 return sequenced_worker_pool_->PostSequencedWorkerTaskWithShutdownBehavior( 61 return sequenced_worker_pool_->PostSequencedWorkerTaskWithShutdownBehavior(
61 IDtoToken(sequence_id), from_here, task, 62 IDtoToken(sequence_id), from_here, std::move(task),
62 base::SequencedWorkerPool::BLOCK_SHUTDOWN); 63 base::SequencedWorkerPool::BLOCK_SHUTDOWN);
63 } 64 }
64 65
65 bool DOMStorageWorkerPoolTaskRunner::IsRunningOnSequence( 66 bool DOMStorageWorkerPoolTaskRunner::IsRunningOnSequence(
66 SequenceID sequence_id) const { 67 SequenceID sequence_id) const {
67 return sequenced_worker_pool_->IsRunningSequenceOnCurrentThread( 68 return sequenced_worker_pool_->IsRunningSequenceOnCurrentThread(
68 IDtoToken(sequence_id)); 69 IDtoToken(sequence_id));
69 } 70 }
70 71
71 scoped_refptr<base::SequencedTaskRunner> 72 scoped_refptr<base::SequencedTaskRunner>
(...skipping 14 matching lines...) Expand all
86 MockDOMStorageTaskRunner::MockDOMStorageTaskRunner( 87 MockDOMStorageTaskRunner::MockDOMStorageTaskRunner(
87 base::SingleThreadTaskRunner* task_runner) 88 base::SingleThreadTaskRunner* task_runner)
88 : task_runner_(task_runner) { 89 : task_runner_(task_runner) {
89 } 90 }
90 91
91 MockDOMStorageTaskRunner::~MockDOMStorageTaskRunner() { 92 MockDOMStorageTaskRunner::~MockDOMStorageTaskRunner() {
92 } 93 }
93 94
94 bool MockDOMStorageTaskRunner::PostDelayedTask( 95 bool MockDOMStorageTaskRunner::PostDelayedTask(
95 const tracked_objects::Location& from_here, 96 const tracked_objects::Location& from_here,
96 const base::Closure& task, 97 base::OnceClosure task,
97 base::TimeDelta delay) { 98 base::TimeDelta delay) {
98 return task_runner_->PostTask(from_here, task); 99 return task_runner_->PostTask(from_here, std::move(task));
99 } 100 }
100 101
101 bool MockDOMStorageTaskRunner::PostShutdownBlockingTask( 102 bool MockDOMStorageTaskRunner::PostShutdownBlockingTask(
102 const tracked_objects::Location& from_here, 103 const tracked_objects::Location& from_here,
103 SequenceID sequence_id, 104 SequenceID sequence_id,
104 const base::Closure& task) { 105 base::OnceClosure task) {
105 return task_runner_->PostTask(from_here, task); 106 return task_runner_->PostTask(from_here, std::move(task));
106 } 107 }
107 108
108 bool MockDOMStorageTaskRunner::IsRunningOnSequence(SequenceID) const { 109 bool MockDOMStorageTaskRunner::IsRunningOnSequence(SequenceID) const {
109 return task_runner_->RunsTasksOnCurrentThread(); 110 return task_runner_->RunsTasksOnCurrentThread();
110 } 111 }
111 112
112 scoped_refptr<base::SequencedTaskRunner> 113 scoped_refptr<base::SequencedTaskRunner>
113 MockDOMStorageTaskRunner::GetSequencedTaskRunner(SequenceID sequence_id) { 114 MockDOMStorageTaskRunner::GetSequencedTaskRunner(SequenceID sequence_id) {
114 return task_runner_; 115 return task_runner_;
115 } 116 }
116 117
117 } // namespace content 118 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/dom_storage/dom_storage_task_runner.h ('k') | content/browser/startup_task_runner_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698