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

Side by Side Diff: ios/web/public/web_thread.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 unified diff | Download patch
« no previous file with comments | « docs/callback.md ('k') | ios/web/web_thread_impl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #ifndef IOS_WEB_PUBLIC_WEB_THREAD_H_ 5 #ifndef IOS_WEB_PUBLIC_WEB_THREAD_H_
6 #define IOS_WEB_PUBLIC_WEB_THREAD_H_ 6 #define IOS_WEB_PUBLIC_WEB_THREAD_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/callback_forward.h" 10 #include "base/callback_forward.h"
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 // identifier. 91 // identifier.
92 ID_COUNT 92 ID_COUNT
93 }; 93 };
94 94
95 // These are the same methods as in message_loop.h, but are guaranteed to 95 // These are the same methods as in message_loop.h, but are guaranteed to
96 // either get posted to the MessageLoop if it's still alive, or be deleted 96 // either get posted to the MessageLoop if it's still alive, or be deleted
97 // otherwise. 97 // otherwise.
98 // They return true iff the thread existed and the task was posted. 98 // They return true iff the thread existed and the task was posted.
99 static bool PostTask(ID identifier, 99 static bool PostTask(ID identifier,
100 const tracked_objects::Location& from_here, 100 const tracked_objects::Location& from_here,
101 const base::Closure& task); 101 base::OnceClosure task);
102 static bool PostDelayedTask(ID identifier, 102 static bool PostDelayedTask(ID identifier,
103 const tracked_objects::Location& from_here, 103 const tracked_objects::Location& from_here,
104 const base::Closure& task, 104 base::OnceClosure task,
105 base::TimeDelta delay); 105 base::TimeDelta delay);
106 static bool PostNonNestableTask(ID identifier, 106 static bool PostNonNestableTask(ID identifier,
107 const tracked_objects::Location& from_here, 107 const tracked_objects::Location& from_here,
108 const base::Closure& task); 108 base::OnceClosure task);
109 static bool PostNonNestableDelayedTask( 109 static bool PostNonNestableDelayedTask(
110 ID identifier, 110 ID identifier,
111 const tracked_objects::Location& from_here, 111 const tracked_objects::Location& from_here,
112 const base::Closure& task, 112 base::OnceClosure task,
113 base::TimeDelta delay); 113 base::TimeDelta delay);
114 114
115 static bool PostTaskAndReply(ID identifier, 115 static bool PostTaskAndReply(ID identifier,
116 const tracked_objects::Location& from_here, 116 const tracked_objects::Location& from_here,
117 const base::Closure& task, 117 base::OnceClosure task,
118 const base::Closure& reply); 118 base::OnceClosure reply);
119 119
120 template <typename ReturnType, typename ReplyArgType> 120 template <typename ReturnType, typename ReplyArgType>
121 static bool PostTaskAndReplyWithResult( 121 static bool PostTaskAndReplyWithResult(
122 ID identifier, 122 ID identifier,
123 const tracked_objects::Location& from_here, 123 const tracked_objects::Location& from_here,
124 const base::Callback<ReturnType(void)>& task, 124 const base::Callback<ReturnType(void)>& task,
125 const base::Callback<void(ReplyArgType)>& reply) { 125 const base::Callback<void(ReplyArgType)>& reply) {
126 scoped_refptr<base::SingleThreadTaskRunner> task_runner = 126 scoped_refptr<base::SingleThreadTaskRunner> task_runner =
127 GetTaskRunnerForThread(identifier); 127 GetTaskRunnerForThread(identifier);
128 return base::PostTaskAndReplyWithResult(task_runner.get(), from_here, task, 128 return base::PostTaskAndReplyWithResult(task_runner.get(), from_here, task,
(...skipping 22 matching lines...) Expand all
151 // something slow and noncritical that doesn't need to block shutdown), 151 // something slow and noncritical that doesn't need to block shutdown),
152 // or you want to manually provide a sequence token (which saves a map 152 // or you want to manually provide a sequence token (which saves a map
153 // lookup and is guaranteed unique without you having to come up with a 153 // lookup and is guaranteed unique without you having to come up with a
154 // unique string), you can access the sequenced worker pool directly via 154 // unique string), you can access the sequenced worker pool directly via
155 // GetBlockingPool(). 155 // GetBlockingPool().
156 // 156 //
157 // If you need to PostTaskAndReplyWithResult, use 157 // If you need to PostTaskAndReplyWithResult, use
158 // base::PostTaskAndReplyWithResult() with GetBlockingPool() as the task 158 // base::PostTaskAndReplyWithResult() with GetBlockingPool() as the task
159 // runner. 159 // runner.
160 static bool PostBlockingPoolTask(const tracked_objects::Location& from_here, 160 static bool PostBlockingPoolTask(const tracked_objects::Location& from_here,
161 const base::Closure& task); 161 base::OnceClosure task);
162 static bool PostBlockingPoolTaskAndReply( 162 static bool PostBlockingPoolTaskAndReply(
163 const tracked_objects::Location& from_here, 163 const tracked_objects::Location& from_here,
164 const base::Closure& task, 164 base::OnceClosure task,
165 const base::Closure& reply); 165 base::OnceClosure reply);
166 static bool PostBlockingPoolSequencedTask( 166 static bool PostBlockingPoolSequencedTask(
167 const std::string& sequence_token_name, 167 const std::string& sequence_token_name,
168 const tracked_objects::Location& from_here, 168 const tracked_objects::Location& from_here,
169 const base::Closure& task); 169 base::OnceClosure task);
170 170
171 // Returns the thread pool used for blocking file I/O. Use this object to 171 // Returns the thread pool used for blocking file I/O. Use this object to
172 // perform random blocking operations such as file writes. 172 // perform random blocking operations such as file writes.
173 static base::SequencedWorkerPool* GetBlockingPool() WARN_UNUSED_RESULT; 173 static base::SequencedWorkerPool* GetBlockingPool() WARN_UNUSED_RESULT;
174 174
175 // Returns a pointer to the thread's message loop, which will become 175 // Returns a pointer to the thread's message loop, which will become
176 // invalid during shutdown, so you probably shouldn't hold onto it. 176 // invalid during shutdown, so you probably shouldn't hold onto it.
177 // 177 //
178 // This must not be called before the thread is started, or after 178 // This must not be called before the thread is started, or after
179 // the thread is stopped, or it will DCHECK. 179 // the thread is stopped, or it will DCHECK.
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
267 private: 267 private:
268 friend class WebThreadImpl; 268 friend class WebThreadImpl;
269 269
270 WebThread() {} 270 WebThread() {}
271 DISALLOW_COPY_AND_ASSIGN(WebThread); 271 DISALLOW_COPY_AND_ASSIGN(WebThread);
272 }; 272 };
273 273
274 } // namespace web 274 } // namespace web
275 275
276 #endif // IOS_WEB_PUBLIC_WEB_THREAD_H_ 276 #endif // IOS_WEB_PUBLIC_WEB_THREAD_H_
OLDNEW
« no previous file with comments | « docs/callback.md ('k') | ios/web/web_thread_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698