| Index: cc/scheduler/scheduler_state_machine.h | 
| diff --git a/cc/scheduler/scheduler_state_machine.h b/cc/scheduler/scheduler_state_machine.h | 
| index b04bd9b85a35ee5d2d90959f25a31b252919ab88..eb60dc40c87bf916d14cf08dae4b9ec7f3268eba 100644 | 
| --- a/cc/scheduler/scheduler_state_machine.h | 
| +++ b/cc/scheduler/scheduler_state_machine.h | 
| @@ -5,12 +5,13 @@ | 
| #ifndef CC_SCHEDULER_SCHEDULER_STATE_MACHINE_H_ | 
| #define CC_SCHEDULER_SCHEDULER_STATE_MACHINE_H_ | 
|  | 
| +#include <stdint.h> | 
| + | 
| #include <memory> | 
| #include <string> | 
|  | 
| #include "base/macros.h" | 
| #include "cc/base/cc_export.h" | 
| -#include "cc/output/begin_frame_args.h" | 
| #include "cc/scheduler/commit_earlyout_reason.h" | 
| #include "cc/scheduler/draw_result.h" | 
| #include "cc/scheduler/scheduler_settings.h" | 
| @@ -147,7 +148,7 @@ class CC_EXPORT SchedulerStateMachine { | 
| // 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. | 
| -  void OnBeginImplFrame(); | 
| +  void OnBeginImplFrame(uint64_t source_id, uint64_t sequence_number); | 
| // Indicates that the scheduler has entered the draw phase. The scheduler | 
| // will not draw more than once in a single draw phase. | 
| // TODO(sunnyps): Rename OnBeginImplFrameDeadline to OnDraw or similar. | 
| @@ -269,6 +270,14 @@ class CC_EXPORT SchedulerStateMachine { | 
| void SetVideoNeedsBeginFrames(bool video_needs_begin_frames); | 
| bool video_needs_begin_frames() const { return video_needs_begin_frames_; } | 
|  | 
| +  bool did_submit_in_last_frame() const { return did_submit_in_last_frame_; } | 
| +  uint64_t last_frame_number_compositor_frame_was_fresh() const { | 
| +    return last_frame_number_compositor_frame_was_fresh_; | 
| +  } | 
| +  uint64_t last_frame_number_active_tree_was_fresh() const { | 
| +    return last_frame_number_active_tree_was_fresh_; | 
| +  } | 
| + | 
| protected: | 
| bool BeginFrameRequiredForAction() const; | 
| bool BeginFrameNeededForVideo() const; | 
| @@ -298,13 +307,17 @@ class CC_EXPORT SchedulerStateMachine { | 
| BeginMainFrameState begin_main_frame_state_; | 
| ForcedRedrawOnTimeoutState forced_redraw_state_; | 
|  | 
| -  // These are used for tracing only. | 
| +  // These are used for tracing and BeginFrame acknowledgments. | 
| int commit_count_; | 
| -  int current_frame_number_; | 
| -  int last_frame_number_submit_performed_; | 
| -  int last_frame_number_draw_performed_; | 
| -  int last_frame_number_begin_main_frame_sent_; | 
| -  int last_frame_number_invalidate_compositor_frame_sink_performed_; | 
| +  uint64_t begin_frame_source_id_; | 
| +  uint64_t current_frame_number_; | 
| +  uint64_t last_frame_number_submit_performed_; | 
| +  uint64_t last_frame_number_draw_performed_; | 
| +  uint64_t last_frame_number_begin_main_frame_sent_; | 
| +  uint64_t last_frame_number_invalidate_compositor_frame_sink_performed_; | 
| +  uint64_t last_frame_number_pending_tree_was_fresh_; | 
| +  uint64_t last_frame_number_active_tree_was_fresh_; | 
| +  uint64_t last_frame_number_compositor_frame_was_fresh_; | 
|  | 
| // These are used to ensure that an action only happens once per frame, | 
| // deadline, etc. | 
|  |