Index: components/scheduler/child/prioritizing_task_queue_selector.h |
diff --git a/components/scheduler/child/prioritizing_task_queue_selector.h b/components/scheduler/child/prioritizing_task_queue_selector.h |
index a9a63eb12bde3fc5f0b6976ecce44f7db93509ac..b42482b6d291b9ca67d2c3e78a3736066ecf133d 100644 |
--- a/components/scheduler/child/prioritizing_task_queue_selector.h |
+++ b/components/scheduler/child/prioritizing_task_queue_selector.h |
@@ -41,14 +41,20 @@ class SCHEDULER_EXPORT PrioritizingTaskQueueSelector |
PrioritizingTaskQueueSelector(); |
~PrioritizingTaskQueueSelector() override; |
- // Set the priority of |queue_index| to |priority|. |
+ // Blocks future EnableQueue or DisableQueue calls. |
+ void PreShutdown(); |
+ |
+ // Set the priority of |queue_index| to |priority|. If PreShutdown() has been |
+ // called this does nothing. |
void SetQueuePriority(size_t queue_index, QueuePriority priority); |
// Enable the |queue_index| with a priority of |priority|. By default all |
- // queues are enabled with normal priority. |
+ // queues are enabled with normal priority. If PreShutdown() has been called |
+ // this does nothing. |
void EnableQueue(size_t queue_index, QueuePriority priority); |
- // Disable the |queue_index|. |
+ // Disable the |queue_index|. If PreShutdown() has been called this does |
+ // nothing. |
void DisableQueue(size_t queue_index); |
// Whether |queue_index| is enabled. |
@@ -100,6 +106,7 @@ class SCHEDULER_EXPORT PrioritizingTaskQueueSelector |
std::set<size_t> queue_priorities_[QUEUE_PRIORITY_COUNT]; |
size_t starvation_count_; |
Observer* task_queue_selector_observer_; // NOT OWNED |
+ bool pre_shutdown_; |
DISALLOW_COPY_AND_ASSIGN(PrioritizingTaskQueueSelector); |
}; |