| Index: cc/surfaces/compositor_frame_sink_support.cc
|
| diff --git a/cc/surfaces/compositor_frame_sink_support.cc b/cc/surfaces/compositor_frame_sink_support.cc
|
| index d28ea4a2d4f536c041f515d37c2f613847f5d114..e898da216bbe2b2f6b18487911df46c57cfa2b36 100644
|
| --- a/cc/surfaces/compositor_frame_sink_support.cc
|
| +++ b/cc/surfaces/compositor_frame_sink_support.cc
|
| @@ -73,7 +73,12 @@ void CompositorFrameSinkSupport::SubmitCompositorFrame(
|
| display_->Resize(frame_size);
|
| }
|
| }
|
| +
|
| + uint64_t begin_frame_source_id = frame.metadata.begin_frame_source_id;
|
| + uint64_t begin_frame_number = frame.metadata.begin_frame_number;
|
| + uint64_t oldest_incorporated_frame = frame.metadata.oldest_incorporated_frame;
|
| ++ack_pending_count_;
|
| +
|
| surface_factory_.SubmitCompositorFrame(
|
| local_frame_id_, std::move(frame),
|
| base::Bind(&CompositorFrameSinkSupport::DidReceiveCompositorFrameAck,
|
| @@ -82,6 +87,17 @@ void CompositorFrameSinkSupport::SubmitCompositorFrame(
|
| display_->SetLocalFrameId(local_frame_id_,
|
| frame.metadata.device_scale_factor);
|
| }
|
| +
|
| + BeginFrameAck ack(begin_frame_source_id, begin_frame_number,
|
| + oldest_incorporated_frame, 0, true);
|
| + if (begin_frame_source_)
|
| + begin_frame_source_->DidFinishFrame(this, ack);
|
| +}
|
| +
|
| +void CompositorFrameSinkSupport::BeginFrameDidNotDraw(
|
| + const BeginFrameAck& ack) {
|
| + if (begin_frame_source_)
|
| + begin_frame_source_->DidFinishFrame(this, ack);
|
| }
|
|
|
| void CompositorFrameSinkSupport::Require(const LocalFrameId& local_frame_id,
|
|
|