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

Side by Side Diff: content/public/browser/browser_thread.h

Issue 2853403002: Remove BrowserThread::PostBlockingPoolTask(AndReply). (Closed)
Patch Set: Created 3 years, 7 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 | « content/browser/browser_thread_impl.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 CONTENT_PUBLIC_BROWSER_BROWSER_THREAD_H_ 5 #ifndef CONTENT_PUBLIC_BROWSER_BROWSER_THREAD_H_
6 #define CONTENT_PUBLIC_BROWSER_BROWSER_THREAD_H_ 6 #define CONTENT_PUBLIC_BROWSER_BROWSER_THREAD_H_
7 7
8 #include <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 return GetTaskRunnerForThread(identifier)->DeleteSoon(from_here, object); 175 return GetTaskRunnerForThread(identifier)->DeleteSoon(from_here, object);
176 } 176 }
177 177
178 template <class T> 178 template <class T>
179 static bool ReleaseSoon(ID identifier, 179 static bool ReleaseSoon(ID identifier,
180 const tracked_objects::Location& from_here, 180 const tracked_objects::Location& from_here,
181 const T* object) { 181 const T* object) {
182 return GetTaskRunnerForThread(identifier)->ReleaseSoon(from_here, object); 182 return GetTaskRunnerForThread(identifier)->ReleaseSoon(from_here, object);
183 } 183 }
184 184
185 // Simplified wrappers for posting to the blocking thread pool. Use this
186 // for doing things like blocking I/O.
187 //
188 // DEPRECATED: use base/task_scheduler/post_task.h instead. 185 // DEPRECATED: use base/task_scheduler/post_task.h instead.
189 // * BrowserThread::PostBlockingPoolTask(AndReply)(...) =>
190 // base::PostTaskWithTraits(AndReply)(
191 // FROM_HERE, base::TaskTraits().MayBlock()...)
192 // * BrowserThread::PostBlockingPoolSequencedTask => 186 // * BrowserThread::PostBlockingPoolSequencedTask =>
193 // Share a single SequencedTaskRunner created via 187 // Share a single SequencedTaskRunner created via
194 // base::CreateSequencedTaskRunnerWithTraits() instead of sharing a 188 // base::CreateSequencedTaskRunnerWithTraits() instead of sharing a
195 // SequenceToken (ping base/task_scheduler/OWNERS if you find a use 189 // SequenceToken (ping base/task_scheduler/OWNERS if you find a use
196 // case where that's not possible). 190 // case where that's not possible).
197 // 191 //
198 // The first variant will run the task in the pool with no sequencing 192 // Posts a task to the blocking pool. The task is guaranteed to run before
199 // semantics, so may get run in parallel with other posted tasks. The second 193 // shutdown. Tasks posted with the same sequence token name are sequenced.
200 // variant will all post a task with no sequencing semantics, and will post a
201 // reply task to the origin TaskRunner upon completion. The third variant
202 // provides sequencing between tasks with the same sequence token name.
203 //
204 // These tasks are guaranteed to run before shutdown.
205 // 194 //
206 // If you need to provide different shutdown semantics (like you have 195 // If you need to provide different shutdown semantics (like you have
207 // something slow and noncritical that doesn't need to block shutdown), 196 // something slow and noncritical that doesn't need to block shutdown),
208 // or you want to manually provide a sequence token (which saves a map 197 // or you want to manually provide a sequence token (which saves a map
209 // lookup and is guaranteed unique without you having to come up with a 198 // lookup and is guaranteed unique without you having to come up with a
210 // unique string), you can access the sequenced worker pool directly via 199 // unique string), you can access the sequenced worker pool directly via
211 // GetBlockingPool(). 200 // GetBlockingPool().
212 //
213 // If you need to PostTaskAndReplyWithResult, use
214 // base::PostTaskAndReplyWithResult() with GetBlockingPool() as the task
215 // runner.
216 static bool PostBlockingPoolTask(const tracked_objects::Location& from_here,
217 base::OnceClosure task);
218 static bool PostBlockingPoolTaskAndReply(
219 const tracked_objects::Location& from_here,
220 base::OnceClosure task,
221 base::OnceClosure reply);
222 static bool PostBlockingPoolSequencedTask( 201 static bool PostBlockingPoolSequencedTask(
223 const std::string& sequence_token_name, 202 const std::string& sequence_token_name,
224 const tracked_objects::Location& from_here, 203 const tracked_objects::Location& from_here,
225 base::OnceClosure task); 204 base::OnceClosure task);
226 205
227 // For use with scheduling non-critical tasks for execution after startup. 206 // For use with scheduling non-critical tasks for execution after startup.
228 // The order or execution of tasks posted here is unspecified even when 207 // The order or execution of tasks posted here is unspecified even when
229 // posting to a SequencedTaskRunner and tasks are not guaranteed to be run 208 // posting to a SequencedTaskRunner and tasks are not guaranteed to be run
230 // prior to browser shutdown. 209 // prior to browser shutdown.
231 // When called after the browser startup is complete, will post |task| 210 // When called after the browser startup is complete, will post |task|
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
340 private: 319 private:
341 friend class BrowserThreadImpl; 320 friend class BrowserThreadImpl;
342 321
343 BrowserThread() {} 322 BrowserThread() {}
344 DISALLOW_COPY_AND_ASSIGN(BrowserThread); 323 DISALLOW_COPY_AND_ASSIGN(BrowserThread);
345 }; 324 };
346 325
347 } // namespace content 326 } // namespace content
348 327
349 #endif // CONTENT_PUBLIC_BROWSER_BROWSER_THREAD_H_ 328 #endif // CONTENT_PUBLIC_BROWSER_BROWSER_THREAD_H_
OLDNEW
« no previous file with comments | « content/browser/browser_thread_impl.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698