Index: cc/scheduler/scheduler.h |
diff --git a/cc/scheduler/scheduler.h b/cc/scheduler/scheduler.h |
index b22e9c3757254ca235da8449177602cece5e71cf..79b86204daeccd874b11b81f923254b807d89cf2 100644 |
--- a/cc/scheduler/scheduler.h |
+++ b/cc/scheduler/scheduler.h |
@@ -77,7 +77,7 @@ class CC_EXPORT Scheduler : public BeginFrameObserverBase { |
void SetVisible(bool visible); |
bool visible() { return state_machine_.visible(); } |
void SetCanDraw(bool can_draw); |
- void NotifyReadyToActivate(); |
+ void NotifyReadyToActivate(int source_frame_number); |
void NotifyReadyToDraw(); |
void SetBeginFrameSource(BeginFrameSource* source); |
@@ -191,6 +191,13 @@ class CC_EXPORT Scheduler : public BeginFrameObserverBase { |
bool stopped_ = false; |
+ // This is to report Activation (ReadyToActivate signal) time back to Main. |
+ // A vector of pairs of source_frame_number and timestamp is captured, and |
+ // sent back in BeginFrameArgs with the next ProxyMain::BeginMainFrame. A |
+ // vector is needed as there can be multiple ReadyToActivate signals before |
+ // the next BeginMainFrame. |
+ std::vector<std::pair<uint32_t, base::TimeTicks>> ready_to_activate_time_; |
+ |
private: |
void ScheduleBeginImplFrameDeadline(); |
void ScheduleBeginImplFrameDeadlineIfNeeded(); |