| 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.
|
|
|