Chromium Code Reviews| Index: cc/scheduler/scheduler_state_machine.h |
| diff --git a/cc/scheduler/scheduler_state_machine.h b/cc/scheduler/scheduler_state_machine.h |
| index 17fdf988ee38fd7a0e95e74dcc4edbd0048e120c..e8620fc3305812a485c7994454e8048c59047c1e 100644 |
| --- a/cc/scheduler/scheduler_state_machine.h |
| +++ b/cc/scheduler/scheduler_state_machine.h |
| @@ -14,6 +14,7 @@ |
| #include "cc/scheduler/commit_earlyout_reason.h" |
| #include "cc/scheduler/draw_result.h" |
| #include "cc/scheduler/scheduler_settings.h" |
| +#include "cc/tiles/tile_priority.h" |
| namespace base { |
| namespace trace_event { |
| @@ -25,6 +26,12 @@ class Value; |
| namespace cc { |
| +enum ScrollHandlerState { |
|
Sami
2015/11/18 19:46:05
nit: could this be an enum class?
|
| + SCROLL_AFFECTS_SCROLL_HANDLER, |
| + SCROLL_DOES_NOT_AFFECT_SCROLL_HANDLER, |
| +}; |
| +const char* ScrollHandlerStateToString(ScrollHandlerState state); |
| + |
| // The SchedulerStateMachine decides how to coordinate main thread activites |
| // like painting/running javascript with rendering and input activities on the |
| // impl thread. |
| @@ -193,10 +200,15 @@ class CC_EXPORT SchedulerStateMachine { |
| // Indicates whether to prioritize impl thread latency (i.e., animation |
| // smoothness) over new content activation. |
| - void SetImplLatencyTakesPriority(bool impl_latency_takes_priority); |
| - bool impl_latency_takes_priority() const { |
| - return impl_latency_takes_priority_; |
| - } |
| + void SetSmoothnessMode(TreePriority tree_priority, |
| + ScrollHandlerState scroll_handler_state); |
| + |
| + // Indicates if the main thread will likely respond within 1 vsync. |
| + void SetCriticalBeginMainFrameToActivateIsFast(bool is_fast); |
| + |
| + // A function of SetSmoothnessMode and |
| + // SetCriticalBeginMainFrameToActivateIsFast. |
| + bool ImplLatencyTakesPriority() const; |
| // Indicates whether ACTION_DRAW_AND_SWAP_IF_POSSIBLE drew to the screen. |
| void DidDrawIfPossibleCompleted(DrawResult result); |
| @@ -333,7 +345,9 @@ class CC_EXPORT SchedulerStateMachine { |
| bool pending_tree_is_ready_for_activation_; |
| bool active_tree_needs_first_draw_; |
| bool did_create_and_initialize_first_output_surface_; |
| - bool impl_latency_takes_priority_; |
| + TreePriority tree_priority_; |
| + ScrollHandlerState scroll_handler_state_; |
| + bool critical_begin_main_frame_to_activate_is_fast_; |
| bool main_thread_missed_last_deadline_; |
| bool skip_next_begin_main_frame_to_reduce_latency_; |
| bool children_need_begin_frames_; |