Index: base/task_scheduler/post_task.h |
diff --git a/base/task_scheduler/post_task.h b/base/task_scheduler/post_task.h |
index 1fc10bffeade30848e53052c763932ceaced5d6f..ec8d4f18fee9e36c47f8f85d0ea1b5e5b7c71f0e 100644 |
--- a/base/task_scheduler/post_task.h |
+++ b/base/task_scheduler/post_task.h |
@@ -16,6 +16,7 @@ |
#include "base/sequenced_task_runner.h" |
#include "base/single_thread_task_runner.h" |
#include "base/task_runner.h" |
+#include "base/task_scheduler/single_thread_task_runner_thread_mode.h" |
#include "base/task_scheduler/task_traits.h" |
#include "base/time/time.h" |
#include "build/build_config.h" |
@@ -190,8 +191,9 @@ BASE_EXPORT scoped_refptr<SequencedTaskRunner> |
CreateSequencedTaskRunnerWithTraits(const TaskTraits& traits); |
// Returns a SingleThreadTaskRunner whose PostTask invocations result in |
-// scheduling tasks using |traits|. Tasks run on a single thread in posting |
-// order. |
+// scheduling tasks using |traits| on a thread determined by |thread_mode|. See |
+// base/task_scheduler/single_thread_task_runner_thread_mode.h for |thread_mode| |
+// details. Tasks run on a single thread in posting order. |
// |
// If all you need is to make sure that tasks don't run concurrently (e.g. |
// because they access a data structure which is not thread-safe), use |
@@ -200,19 +202,26 @@ CreateSequencedTaskRunnerWithTraits(const TaskTraits& traits); |
// under-documented third-party APIs, e.g. other OS') or share data across tasks |
// using thread-local storage. |
BASE_EXPORT scoped_refptr<SingleThreadTaskRunner> |
-CreateSingleThreadTaskRunnerWithTraits(const TaskTraits& traits); |
+CreateSingleThreadTaskRunnerWithTraits( |
+ const TaskTraits& traits, |
+ SingleThreadTaskRunnerThreadMode thread_mode = |
+ SingleThreadTaskRunnerThreadMode::SHARED); |
#if defined(OS_WIN) |
// Returns a SingleThreadTaskRunner whose PostTask invocations result in |
-// scheduling tasks using |traits| in a COM Single-Threaded Apartment. Tasks run |
-// in the same Single-Threaded Apartment in posting order for the returned |
-// SingleThreadTaskRunner. There is not necessarily a one-to-one correspondence |
-// between SingleThreadTaskRunners and Single-Threaded Apartments. The |
-// implementation is free to share apartments or create new apartments as |
-// necessary. In either case, care should be taken to make sure COM pointers are |
-// not smuggled across apartments. |
+// scheduling tasks using |traits| in a COM Single-Threaded Apartment on a |
+// thread determined by |thread_mode|. See |
+// base/task_scheduler/single_thread_task_runner_thread_mode.h for |thread_mode| |
+// details. Tasks run in the same Single-Threaded Apartment in posting order for |
+// the returned SingleThreadTaskRunner. There is not necessarily a one-to-one |
+// correspondence between SingleThreadTaskRunners and Single-Threaded |
+// Apartments. The implementation is free to share apartments or create new |
+// apartments as necessary. In either case, care should be taken to make sure |
+// COM pointers are not smuggled across apartments. |
BASE_EXPORT scoped_refptr<SingleThreadTaskRunner> |
-CreateCOMSTATaskRunnerWithTraits(const TaskTraits& traits); |
+CreateCOMSTATaskRunnerWithTraits(const TaskTraits& traits, |
+ SingleThreadTaskRunnerThreadMode thread_mode = |
+ SingleThreadTaskRunnerThreadMode::SHARED); |
#endif // defined(OS_WIN) |
} // namespace base |