Index: base/threading/sequenced_worker_pool.h |
diff --git a/base/threading/sequenced_worker_pool.h b/base/threading/sequenced_worker_pool.h |
index 4d90f920830c87fb2166b9cdd961a05c49783de0..e0588d831648ab0533d7349610cd868bc6b04198 100644 |
--- a/base/threading/sequenced_worker_pool.h |
+++ b/base/threading/sequenced_worker_pool.h |
@@ -172,6 +172,17 @@ class BASE_EXPORT SequencedWorkerPool : public TaskRunner { |
// PostSequencedWorkerTask(). Valid tokens are always nonzero. |
static SequenceToken GetSequenceToken(); |
+ // Invoke this once on the main thread of a process, before any other threads |
+ // are created and before any tasks are posted to that process' |
+ // SequencedWorkerPools but after TaskScheduler was instantiated, to force all |
+ // SequencedWorkerPools in that process to redirect their tasks to the |
+ // TaskScheduler. Note: SequencedWorkerPool instances with |max_threads == 1| |
+ // will be special cased to send all of their work as |
+ // ExecutionMode::SINGLE_THREADED. |
+ // TODO(gab): Remove this if http://crbug.com/622400 fails |
+ // (SequencedWorkerPool will be phased out completely otherwise). |
+ static void RedirectSequencedWorkerPoolsToTaskSchedulerForProcess(); |
+ |
// When constructing a SequencedWorkerPool, there must be a |
// ThreadTaskRunnerHandle on the current thread unless you plan to |
// deliberately leak it. |