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

Unified Diff: cc/output/begin_frame_args.cc

Issue 2583483002: [cc] Adds source_id and sequence_number to BeginFrameArgs. (Closed)
Patch Set: rebase Created 4 years 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
Index: cc/output/begin_frame_args.cc
diff --git a/cc/output/begin_frame_args.cc b/cc/output/begin_frame_args.cc
index 7ef2c4842ac4b30610a7acd9dd416f5f5270fc8a..f7a35ff3540e7e741607e5a0a912a758fdd4f254 100644
--- a/cc/output/begin_frame_args.cc
+++ b/cc/output/begin_frame_args.cc
@@ -24,26 +24,37 @@ const char* BeginFrameArgs::TypeToString(BeginFrameArgsType type) {
return "???";
}
+constexpr uint64_t BeginFrameArgs::kInvalidFrameNumber;
+constexpr uint64_t BeginFrameArgs::kStartingFrameNumber;
+
BeginFrameArgs::BeginFrameArgs()
: frame_time(base::TimeTicks()),
deadline(base::TimeTicks()),
interval(base::TimeDelta::FromMicroseconds(-1)),
+ sequence_number(kInvalidFrameNumber),
+ source_id(0),
type(BeginFrameArgs::INVALID),
- on_critical_path(true) {
-}
+ on_critical_path(true) {}
-BeginFrameArgs::BeginFrameArgs(base::TimeTicks frame_time,
+BeginFrameArgs::BeginFrameArgs(uint32_t source_id,
+ uint64_t sequence_number,
+ base::TimeTicks frame_time,
base::TimeTicks deadline,
base::TimeDelta interval,
BeginFrameArgs::BeginFrameArgsType type)
: frame_time(frame_time),
deadline(deadline),
interval(interval),
+ sequence_number(sequence_number),
+ source_id(source_id),
type(type),
on_critical_path(true) {
+ DCHECK_LT(kInvalidFrameNumber, sequence_number);
}
BeginFrameArgs BeginFrameArgs::Create(BeginFrameArgs::CreationLocation location,
+ uint32_t source_id,
+ uint64_t sequence_number,
base::TimeTicks frame_time,
base::TimeTicks deadline,
base::TimeDelta interval,
@@ -51,9 +62,11 @@ BeginFrameArgs BeginFrameArgs::Create(BeginFrameArgs::CreationLocation location,
DCHECK_NE(type, BeginFrameArgs::INVALID);
DCHECK_NE(type, BeginFrameArgs::BEGIN_FRAME_ARGS_TYPE_MAX);
#ifdef NDEBUG
- return BeginFrameArgs(frame_time, deadline, interval, type);
+ return BeginFrameArgs(source_id, sequence_number, frame_time, deadline,
+ interval, type);
#else
- BeginFrameArgs args = BeginFrameArgs(frame_time, deadline, interval, type);
+ BeginFrameArgs args = BeginFrameArgs(source_id, sequence_number, frame_time,
+ deadline, interval, type);
args.created_from = location;
return args;
#endif
@@ -70,6 +83,8 @@ BeginFrameArgs::AsValue() const {
void BeginFrameArgs::AsValueInto(base::trace_event::TracedValue* state) const {
state->SetString("type", "BeginFrameArgs");
state->SetString("subtype", TypeToString(type));
+ state->SetInteger("source_id", source_id);
+ state->SetInteger("sequence_number", sequence_number);
state->SetDouble("frame_time_us", frame_time.ToInternalValue());
state->SetDouble("deadline_us", deadline.ToInternalValue());
state->SetDouble("interval_us", interval.InMicroseconds());

Powered by Google App Engine
This is Rietveld 408576698