Index: cc/scheduler/scheduler_state_machine.h |
diff --git a/cc/scheduler/scheduler_state_machine.h b/cc/scheduler/scheduler_state_machine.h |
index 3272588d56894ee6b27ef4fd2977109052bbba27..2de0df3f05e1720e621beac414086a07bed723a3 100644 |
--- a/cc/scheduler/scheduler_state_machine.h |
+++ b/cc/scheduler/scheduler_state_machine.h |
@@ -115,6 +115,7 @@ class CC_EXPORT SchedulerStateMachine { |
ACTION_SEND_BEGIN_MAIN_FRAME, |
ACTION_COMMIT, |
ACTION_ACTIVATE_SYNC_TREE, |
+ ACTION_RUN_IMPL_SIDE_INVALIDATION, |
ACTION_DRAW_IF_POSSIBLE, |
ACTION_DRAW_FORCED, |
ACTION_DRAW_ABORT, |
@@ -249,6 +250,9 @@ class CC_EXPORT SchedulerStateMachine { |
// Indicates the active tree's visible tiles are ready to be drawn. |
void NotifyReadyToDraw(); |
+ void SetNeedsImplSideInvalidation(); |
+ void WillRunImplSideInvalidation(); |
+ |
bool has_pending_tree() const { return has_pending_tree_; } |
bool active_tree_needs_first_draw() const { |
return active_tree_needs_first_draw_; |
@@ -276,6 +280,9 @@ class CC_EXPORT SchedulerStateMachine { |
bool BeginFrameNeededForVideo() const; |
bool ProactiveBeginFrameWanted() const; |
+ bool ShouldRunImplSideInvalidation() const; |
+ bool CouldCreatePendingTree() const; |
+ |
bool ShouldTriggerBeginImplFrameDeadlineImmediately() const; |
// True if we need to force activations to make forward progress. |
@@ -313,6 +320,7 @@ class CC_EXPORT SchedulerStateMachine { |
bool draw_funnel_; |
bool send_begin_main_frame_funnel_; |
bool invalidate_compositor_frame_sink_funnel_; |
+ bool impl_side_invalidation_funnel_; |
// prepare_tiles_funnel_ is "filled" each time PrepareTiles is called |
// and "drained" on each BeginImplFrame. If the funnel gets too full, |
// we start throttling ACTION_PREPARE_TILES such that we average one |
@@ -345,6 +353,8 @@ class CC_EXPORT SchedulerStateMachine { |
bool wait_for_ready_to_draw_; |
bool did_draw_in_last_frame_; |
bool did_submit_in_last_frame_; |
+ bool needs_impl_side_invalidation_; |
+ bool run_impl_side_invalidation_after_main_frame_aborted_; |
private: |
DISALLOW_COPY_AND_ASSIGN(SchedulerStateMachine); |