Index: cc/scheduler/scheduler_state_machine.h |
diff --git a/cc/scheduler/scheduler_state_machine.h b/cc/scheduler/scheduler_state_machine.h |
index 3c32dc6c0d1cfe2756187a083f8ac191f8ff68f8..36a60a77766ed4ec5bded19c9fc21d36f9648f27 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 class ScrollHandlerState { |
+ 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. |
@@ -190,10 +197,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 SetTreePrioritiesAndScrollState(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 SetTreePrioritiesAndScrollState and |
+ // SetCriticalBeginMainFrameToActivateIsFast. |
+ bool ImplLatencyTakesPriority() const; |
// Indicates whether ACTION_DRAW_AND_SWAP_IF_POSSIBLE drew to the screen. |
void DidDrawIfPossibleCompleted(DrawResult result); |
@@ -330,7 +342,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_; |