Chromium Code Reviews| 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 |