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

Unified Diff: cc/scheduler/scheduler.cc

Issue 2897053002: [cc] Remove BeginFrameAck from BFS::DidFinishFrame and update tests. (Closed)
Patch Set: fix exo compile error Created 3 years, 7 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
Index: cc/scheduler/scheduler.cc
diff --git a/cc/scheduler/scheduler.cc b/cc/scheduler/scheduler.cc
index e3fdef521d81652995c01a4242a52f15d31ded82..d1d0bdda52636b026b2bbe44c2b4af9f5144e671 100644
--- a/cc/scheduler/scheduler.cc
+++ b/cc/scheduler/scheduler.cc
@@ -443,27 +443,26 @@ void Scheduler::FinishImplFrame() {
void Scheduler::SendBeginFrameAck(const BeginFrameArgs& args,
BeginFrameResult result) {
- if (!begin_frame_source_)
- return;
-
- uint64_t latest_confirmed_sequence_number =
- BeginFrameArgs::kInvalidFrameNumber;
- if (args.source_id == state_machine_.begin_frame_source_id()) {
- latest_confirmed_sequence_number =
- state_machine_
- .last_begin_frame_sequence_number_compositor_frame_was_fresh();
- }
-
bool did_submit = false;
- if (result == kBeginFrameFinished) {
+ if (result == kBeginFrameFinished)
did_submit = state_machine_.did_submit_in_last_frame();
+
+ if (!did_submit) {
+ uint64_t latest_confirmed_sequence_number =
+ BeginFrameArgs::kInvalidFrameNumber;
+ if (args.source_id == state_machine_.begin_frame_source_id()) {
+ latest_confirmed_sequence_number =
+ state_machine_
+ .last_begin_frame_sequence_number_compositor_frame_was_fresh();
+ }
+
+ client_->DidNotProduceFrame(
+ BeginFrameAck(args.source_id, args.sequence_number,
+ latest_confirmed_sequence_number, did_submit));
}
- BeginFrameAck ack(args.source_id, args.sequence_number,
- latest_confirmed_sequence_number, did_submit);
- begin_frame_source_->DidFinishFrame(this, ack);
- if (!did_submit)
- client_->DidNotProduceFrame(ack);
+ if (begin_frame_source_)
+ begin_frame_source_->DidFinishFrame(this);
sunnyps 2017/05/24 02:38:25 nit: Move this to FinishImplFrame because that's t
Eric Seckler 2017/05/24 09:00:40 Is this true? I think we also want to ack to the (
sunnyps 2017/05/25 20:20:27 We skip begin frames in two cases: 1. not expectin
Eric Seckler 2017/05/26 08:55:31 Still leaving as-is as discussed offline (the BFS
}
// BeginImplFrame starts a compositor frame that will wait up until a deadline

Powered by Google App Engine
This is Rietveld 408576698