Chromium Code Reviews| Index: base/task_scheduler/scheduler_worker_pool_impl.h |
| diff --git a/base/task_scheduler/scheduler_worker_pool_impl.h b/base/task_scheduler/scheduler_worker_pool_impl.h |
| index 3205dae7d1a25d6a0034ba11cc6d7f0ca9562f02..0dd16bf433f51d378ad783ecf0c0216da0e5c7bb 100644 |
| --- a/base/task_scheduler/scheduler_worker_pool_impl.h |
| +++ b/base/task_scheduler/scheduler_worker_pool_impl.h |
| @@ -45,6 +45,10 @@ class BASE_EXPORT SchedulerWorkerPoolImpl : public SchedulerWorkerPool { |
| // from it. |
| using ReEnqueueSequenceCallback = Callback<void(scoped_refptr<Sequence>)>; |
| + // Callback invoked during destruction of a SingleThreadTaskRunner. |
| + using UnregisterSingleThreadWorkerPoolCallback = |
| + Callback<void(const SchedulerWorkerPoolImpl* scheduler_worker_pool)>; |
| + |
| // Destroying a SchedulerWorkerPoolImpl returned by Create() is not allowed in |
| // production; it is always leaked. In tests, it can only be destroyed after |
| // JoinForTesting() has returned. |
| @@ -62,6 +66,13 @@ class BASE_EXPORT SchedulerWorkerPoolImpl : public SchedulerWorkerPool { |
| TaskTracker* task_tracker, |
| DelayedTaskManager* delayed_task_manager); |
| + static std::unique_ptr<SchedulerWorkerPoolImpl> CreateSingleThreadWorkerPool( |
| + const SchedulerWorkerPoolParams& params, |
| + UnregisterSingleThreadWorkerPoolCallback |
| + unregister_single_thread_worker_callback, |
| + TaskTracker* task_tracker, |
| + DelayedTaskManager* delayed_task_manager); |
| + |
| // SchedulerWorkerPool: |
| scoped_refptr<TaskRunner> CreateTaskRunnerWithTraits( |
| const TaskTraits& traits) override; |
| @@ -112,6 +123,11 @@ class BASE_EXPORT SchedulerWorkerPoolImpl : public SchedulerWorkerPool { |
| SchedulerWorkerPoolImpl(const SchedulerWorkerPoolParams& params, |
| TaskTracker* task_tracker, |
| DelayedTaskManager* delayed_task_manager); |
| + SchedulerWorkerPoolImpl(const SchedulerWorkerPoolParams& params, |
| + TaskTracker* task_tracker, |
| + DelayedTaskManager* delayed_task_manager, |
| + UnregisterSingleThreadWorkerPoolCallback |
|
fdoray
2017/01/27 16:47:35
Move after |params| to keep the same order as Crea
robliao
2017/01/27 21:25:41
The reason this is at the end is the previous cons
|
| + unregister_single_thread_worker_pool_callback); |
| bool Initialize( |
| const SchedulerWorkerPoolParams& params, |
| @@ -199,6 +215,9 @@ class BASE_EXPORT SchedulerWorkerPoolImpl : public SchedulerWorkerPool { |
| TaskTracker* const task_tracker_; |
| DelayedTaskManager* const delayed_task_manager_; |
| + const UnregisterSingleThreadWorkerPoolCallback |
| + unregister_single_thread_worker_pool_callback_; |
| + |
| DISALLOW_COPY_AND_ASSIGN(SchedulerWorkerPoolImpl); |
| }; |