| Index: cc/scheduler/scheduler_state_machine.h
|
| diff --git a/cc/scheduler/scheduler_state_machine.h b/cc/scheduler/scheduler_state_machine.h
|
| index cd4a7f2ee6689c969354e511fad775a8980d3355..20fe3f1441e629dafab349fac14986778f0bc896 100644
|
| --- a/cc/scheduler/scheduler_state_machine.h
|
| +++ b/cc/scheduler/scheduler_state_machine.h
|
| @@ -123,6 +123,7 @@ class CC_EXPORT SchedulerStateMachine {
|
| ACTION_BEGIN_COMPOSITOR_FRAME_SINK_CREATION,
|
| ACTION_PREPARE_TILES,
|
| ACTION_INVALIDATE_COMPOSITOR_FRAME_SINK,
|
| + ACTION_DO_SHORT_IDLE_WORK,
|
| };
|
| static const char* ActionToString(Action action);
|
|
|
| @@ -131,6 +132,7 @@ class CC_EXPORT SchedulerStateMachine {
|
|
|
| Action NextAction() const;
|
| void WillSendBeginMainFrame();
|
| + void WillDoShortIdleWork();
|
| void WillCommit(bool commit_had_no_updates);
|
| void WillActivate();
|
| void WillDraw();
|
| @@ -318,6 +320,7 @@ class CC_EXPORT SchedulerStateMachine {
|
| bool ShouldCommit() const;
|
| bool ShouldPrepareTiles() const;
|
| bool ShouldInvalidateCompositorFrameSink() const;
|
| + bool ShouldDoShortIdleWork() const;
|
|
|
| void WillDrawInternal();
|
| void WillPerformImplSideInvalidationInternal();
|
| @@ -356,9 +359,10 @@ class CC_EXPORT SchedulerStateMachine {
|
| // These are used to ensure that an action only happens once per frame,
|
| // deadline, etc.
|
| bool draw_funnel_;
|
| - bool send_begin_main_frame_funnel_;
|
| + bool did_send_begin_main_frame_for_current_frame_;
|
| bool invalidate_compositor_frame_sink_funnel_;
|
| bool impl_side_invalidation_funnel_;
|
| + bool did_do_idle_work_;
|
| // 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
|
|
|