| 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);
|
|
|