Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4189)

Unified Diff: cc/output/begin_frame_args.h

Issue 2778223005: Plumb activation time to main (Closed)
Patch Set: pass 0 for sync tree in NotifyReadyToActivate from SingleThreadProxy Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | cc/output/begin_frame_args.cc » ('j') | cc/scheduler/scheduler.h » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/output/begin_frame_args.h
diff --git a/cc/output/begin_frame_args.h b/cc/output/begin_frame_args.h
index d4ced74a32c9bac8c462864f32e6b815151b8962..d4a2bb6778a223c15aad7379b39f45e684b21839 100644
--- a/cc/output/begin_frame_args.h
+++ b/cc/output/begin_frame_args.h
@@ -61,6 +61,7 @@ struct CC_EXPORT BeginFrameArgs {
// Creates an invalid set of values.
BeginFrameArgs();
+ ~BeginFrameArgs();
#ifdef NDEBUG
typedef const void* CreationLocation;
@@ -79,6 +80,7 @@ struct CC_EXPORT BeginFrameArgs {
base::TimeTicks deadline,
base::TimeDelta interval,
BeginFrameArgsType type);
+ BeginFrameArgs(const BeginFrameArgs&);
// This is the default delta that will be used to adjust the deadline when
// proper draw-time estimations are not yet available.
@@ -104,6 +106,20 @@ struct CC_EXPORT BeginFrameArgs {
uint64_t sequence_number;
uint32_t source_id; // |source_id| after |sequence_number| for packing.
+ //|source_frame_number| is set by the LayerTreeHost when the BeginFrame
+ // reaches
brianderson 2017/04/10 23:12:47 Extra line break?
panicker 2017/04/11 22:19:37 Done.
+ // blink and corresponds to the commit count.
+ uint32_t source_frame_number;
+
+ // 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 with the next ProxyMain::BeginMainFrame, and from there routed to
+ // the Blink Scheduler. A vector is needed as there can be multiple
+ // ReadyToActivate signals before the next BeginMainFrame.
+ // TODO(panicker): Sub-class BeginFrameArgs as BeginMainFrameArgs and move
+ // this there.
+ std::vector<std::pair<uint32_t, base::TimeTicks>> ready_to_activate_time;
+
BeginFrameArgsType type;
bool on_critical_path;
« no previous file with comments | « no previous file | cc/output/begin_frame_args.cc » ('j') | cc/scheduler/scheduler.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698