OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef COMPONENTS_SCHEDULER_RENDERER_RENDERER_SCHEDULER_IMPL_H_ | 5 #ifndef COMPONENTS_SCHEDULER_RENDERER_RENDERER_SCHEDULER_IMPL_H_ |
6 #define COMPONENTS_SCHEDULER_RENDERER_RENDERER_SCHEDULER_IMPL_H_ | 6 #define COMPONENTS_SCHEDULER_RENDERER_RENDERER_SCHEDULER_IMPL_H_ |
7 | 7 |
8 #include "base/atomicops.h" | 8 #include "base/atomicops.h" |
9 #include "base/macros.h" | 9 #include "base/macros.h" |
10 #include "base/synchronization/lock.h" | 10 #include "base/synchronization/lock.h" |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
56 void BeginFrameNotExpectedSoon() override; | 56 void BeginFrameNotExpectedSoon() override; |
57 void DidCommitFrameToCompositor() override; | 57 void DidCommitFrameToCompositor() override; |
58 void DidHandleInputEventOnCompositorThread( | 58 void DidHandleInputEventOnCompositorThread( |
59 const blink::WebInputEvent& web_input_event, | 59 const blink::WebInputEvent& web_input_event, |
60 InputEventState event_state) override; | 60 InputEventState event_state) override; |
61 void DidHandleInputEventOnMainThread( | 61 void DidHandleInputEventOnMainThread( |
62 const blink::WebInputEvent& web_input_event) override; | 62 const blink::WebInputEvent& web_input_event) override; |
63 void DidAnimateForInputOnCompositorThread() override; | 63 void DidAnimateForInputOnCompositorThread() override; |
64 void OnRendererBackgrounded() override; | 64 void OnRendererBackgrounded() override; |
65 void OnRendererForegrounded() override; | 65 void OnRendererForegrounded() override; |
| 66 void OnRendererSuspend() override; |
66 void AddPendingNavigation() override; | 67 void AddPendingNavigation() override; |
67 void RemovePendingNavigation() override; | 68 void RemovePendingNavigation() override; |
68 void OnNavigationStarted() override; | 69 void OnNavigationStarted() override; |
69 bool IsHighPriorityWorkAnticipated() override; | 70 bool IsHighPriorityWorkAnticipated() override; |
70 bool ShouldYieldForHighPriorityWork() override; | 71 bool ShouldYieldForHighPriorityWork() override; |
71 bool CanExceedIdleDeadlineIfRequired() const override; | 72 bool CanExceedIdleDeadlineIfRequired() const override; |
72 void AddTaskObserver(base::MessageLoop::TaskObserver* task_observer) override; | 73 void AddTaskObserver(base::MessageLoop::TaskObserver* task_observer) override; |
73 void RemoveTaskObserver( | 74 void RemoveTaskObserver( |
74 base::MessageLoop::TaskObserver* task_observer) override; | 75 base::MessageLoop::TaskObserver* task_observer) override; |
75 void Shutdown() override; | 76 void Shutdown() override; |
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
303 const scoped_refptr<TaskQueue> control_task_runner_; | 304 const scoped_refptr<TaskQueue> control_task_runner_; |
304 const scoped_refptr<TaskQueue> compositor_task_runner_; | 305 const scoped_refptr<TaskQueue> compositor_task_runner_; |
305 std::set<scoped_refptr<TaskQueue>> loading_task_runners_; | 306 std::set<scoped_refptr<TaskQueue>> loading_task_runners_; |
306 std::set<scoped_refptr<TaskQueue>> timer_task_runners_; | 307 std::set<scoped_refptr<TaskQueue>> timer_task_runners_; |
307 scoped_refptr<TaskQueue> default_loading_task_runner_; | 308 scoped_refptr<TaskQueue> default_loading_task_runner_; |
308 scoped_refptr<TaskQueue> default_timer_task_runner_; | 309 scoped_refptr<TaskQueue> default_timer_task_runner_; |
309 | 310 |
310 base::Closure update_policy_closure_; | 311 base::Closure update_policy_closure_; |
311 DeadlineTaskRunner delayed_update_policy_runner_; | 312 DeadlineTaskRunner delayed_update_policy_runner_; |
312 CancelableClosureHolder end_renderer_hidden_idle_period_closure_; | 313 CancelableClosureHolder end_renderer_hidden_idle_period_closure_; |
313 CancelableClosureHolder suspend_timers_when_backgrounded_closure_; | |
314 | 314 |
315 // We have decided to improve thread safety at the cost of some boilerplate | 315 // We have decided to improve thread safety at the cost of some boilerplate |
316 // (the accessors) for the following data members. | 316 // (the accessors) for the following data members. |
317 | 317 |
318 struct MainThreadOnly { | 318 struct MainThreadOnly { |
319 MainThreadOnly(const scoped_refptr<TaskQueue>& compositor_task_runner, | 319 MainThreadOnly(const scoped_refptr<TaskQueue>& compositor_task_runner, |
320 base::TickClock* time_source); | 320 base::TickClock* time_source); |
321 ~MainThreadOnly(); | 321 ~MainThreadOnly(); |
322 | 322 |
323 TaskCostEstimator loading_task_cost_estimator; | 323 TaskCostEstimator loading_task_cost_estimator; |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
415 | 415 |
416 PollableThreadSafeFlag policy_may_need_update_; | 416 PollableThreadSafeFlag policy_may_need_update_; |
417 base::WeakPtrFactory<RendererSchedulerImpl> weak_factory_; | 417 base::WeakPtrFactory<RendererSchedulerImpl> weak_factory_; |
418 | 418 |
419 DISALLOW_COPY_AND_ASSIGN(RendererSchedulerImpl); | 419 DISALLOW_COPY_AND_ASSIGN(RendererSchedulerImpl); |
420 }; | 420 }; |
421 | 421 |
422 } // namespace scheduler | 422 } // namespace scheduler |
423 | 423 |
424 #endif // COMPONENTS_SCHEDULER_RENDERER_RENDERER_SCHEDULER_IMPL_H_ | 424 #endif // COMPONENTS_SCHEDULER_RENDERER_RENDERER_SCHEDULER_IMPL_H_ |
OLD | NEW |