Chromium Code Reviews| Index: components/scheduler/renderer/renderer_scheduler_impl.h |
| diff --git a/components/scheduler/renderer/renderer_scheduler_impl.h b/components/scheduler/renderer/renderer_scheduler_impl.h |
| index bd7d7ad7e978d97e032e7751613f10c61014cf15..d5c43ef25e2c296a7dd970cc1810c99695384efd 100644 |
| --- a/components/scheduler/renderer/renderer_scheduler_impl.h |
| +++ b/components/scheduler/renderer/renderer_scheduler_impl.h |
| @@ -24,8 +24,10 @@ class ConvertableToTraceFormat; |
| namespace scheduler { |
| -class SCHEDULER_EXPORT RendererSchedulerImpl : public RendererScheduler, |
| - public IdleHelper::Delegate { |
| +class SCHEDULER_EXPORT RendererSchedulerImpl |
| + : public RendererScheduler, |
| + public IdleHelper::Delegate, |
| + public SchedulerHelper::Observer { |
| public: |
| RendererSchedulerImpl( |
| scoped_refptr<SchedulerTaskRunnerDelegate> main_task_runner); |
| @@ -37,6 +39,8 @@ class SCHEDULER_EXPORT RendererSchedulerImpl : public RendererScheduler, |
| scoped_refptr<base::SingleThreadTaskRunner> CompositorTaskRunner() override; |
| scoped_refptr<base::SingleThreadTaskRunner> LoadingTaskRunner() override; |
| scoped_refptr<TaskQueue> TimerTaskRunner() override; |
| + scoped_refptr<TaskQueue> NewLoadingTaskRunner(const char* name) override; |
| + scoped_refptr<TaskQueue> NewTimerTaskRunner(const char* name) override; |
| void WillBeginFrame(const cc::BeginFrameArgs& args) override; |
| void BeginFrameNotExpectedSoon() override; |
| void DidCommitFrameToCompositor() override; |
| @@ -62,6 +66,9 @@ class SCHEDULER_EXPORT RendererSchedulerImpl : public RendererScheduler, |
| void ResumeTimerQueue() override; |
| void SetTimerQueueSuspensionWhenBackgroundedEnabled(bool enabled) override; |
| + // TaskQueueManager::Observer implementation: |
| + void OnUnregisterTaskQueue(const scoped_refptr<TaskQueue>& queue) override; |
| + |
| // Test helpers. |
| SchedulerHelper* GetSchedulerHelperForTesting(); |
| TaskCostEstimator* GetLoadingTaskCostEstimatorForTesting(); |
| @@ -206,8 +213,10 @@ class SCHEDULER_EXPORT RendererSchedulerImpl : public RendererScheduler, |
| const scoped_refptr<TaskQueue> control_task_runner_; |
| const scoped_refptr<TaskQueue> compositor_task_runner_; |
| - const scoped_refptr<TaskQueue> loading_task_runner_; |
| - const scoped_refptr<TaskQueue> timer_task_runner_; |
| + std::set<scoped_refptr<TaskQueue>> loading_task_runners_; |
| + std::set<scoped_refptr<TaskQueue>> timer_task_runners_; |
|
rmcilroy
2015/09/18 13:15:46
Any reason for this to be a set rather than a vect
Sami
2015/09/21 10:52:36
I think Alex wanted to keep the removals efficient
rmcilroy
2015/09/23 09:44:25
This is fine.
|
| + scoped_refptr<TaskQueue> default_loading_task_runner_; |
| + scoped_refptr<TaskQueue> default_timer_task_runner_; |
| base::Closure update_policy_closure_; |
| DeadlineTaskRunner delayed_update_policy_runner_; |