| Index: components/scheduler/child/child_scheduler.h
|
| diff --git a/components/scheduler/child/child_scheduler.h b/components/scheduler/child/child_scheduler.h
|
| index 8fd5359e8cfc38647aa567031a51f34384dcc526..9f7df80d03d89e62e247ee8b1c88c1e1fb332756 100644
|
| --- a/components/scheduler/child/child_scheduler.h
|
| +++ b/components/scheduler/child/child_scheduler.h
|
| @@ -27,6 +27,10 @@ class SCHEDULER_EXPORT ChildScheduler {
|
| // time if no idle time is available.
|
| virtual scoped_refptr<SingleThreadIdleTaskRunner> IdleTaskRunner() = 0;
|
|
|
| + // Returns the shutdown task runner. Intended for tasks that must be able to
|
| + // run, even after PreShutdown() is called.
|
| + virtual scoped_refptr<base::SingleThreadTaskRunner> ShutdownTaskRunner() = 0;
|
| +
|
| // Returns true if there is high priority work pending on the main thread
|
| // and the caller should yield to let the scheduler service that work. Note
|
| // that this is a stricter condition than |IsHighPriorityWorkAnticipated|,
|
| @@ -52,6 +56,10 @@ class SCHEDULER_EXPORT ChildScheduler {
|
| virtual void RemoveTaskObserver(
|
| base::MessageLoop::TaskObserver* task_observer) = 0;
|
|
|
| + // Optional. This stops all queues except for shutdown and control queues.
|
| + // Must be called from the thread this scheduler was created on.
|
| + virtual void PreShutdown() = 0;
|
| +
|
| // Shuts down the scheduler by dropping any remaining pending work in the work
|
| // queues. After this call any work posted to the task runners will be
|
| // silently dropped.
|
|
|