Index: cc/scheduler/scheduler_state_machine.h |
diff --git a/cc/scheduler/scheduler_state_machine.h b/cc/scheduler/scheduler_state_machine.h |
index cf29ca9b6a53ec89a43c1b20e905e9c4792dff8f..2f632cbebbe833ff1f79f72d0cf7f65e935e8adb 100644 |
--- a/cc/scheduler/scheduler_state_machine.h |
+++ b/cc/scheduler/scheduler_state_machine.h |
@@ -126,6 +126,10 @@ class CC_EXPORT SchedulerStateMachine { |
// to make progress. |
bool BeginFrameNeeded() const; |
+ // Notifies the statme machine that the Scheduler skipped a BeginImplFrame |
+ // so the state machine can reset associated state. |
+ void DidSkipBeginImplFrameToReduceLatency(); |
+ |
// Indicates that the system has entered and left a BeginImplFrame callback. |
// The scheduler will not draw more than once in a given BeginImplFrame |
// callback nor send more than one BeginMainFrame message. |
@@ -145,6 +149,10 @@ class CC_EXPORT SchedulerStateMachine { |
// impl thread to draw, it is in a high latency mode. |
bool MainThreadIsInHighLatencyMode() const; |
+ bool swaps_are_likely_high_latency() const { |
+ return swaps_are_likely_high_latency_; |
+ } |
+ |
// Indicates whether the LayerTreeHostImpl is visible. |
void SetVisible(bool visible); |
bool visible() const { return visible_; } |
@@ -317,6 +325,8 @@ class CC_EXPORT SchedulerStateMachine { |
int consecutive_checkerboard_animations_; |
int max_pending_swaps_; |
int pending_swaps_; |
+ bool swaps_are_likely_high_latency_; |
+ bool swap_throttled_in_last_deadline_; |
bool needs_redraw_; |
bool needs_animate_; |
bool needs_prepare_tiles_; |