| Index: content/renderer/gpu/compositor_external_begin_frame_source.cc
|
| diff --git a/content/renderer/gpu/compositor_external_begin_frame_source.cc b/content/renderer/gpu/compositor_external_begin_frame_source.cc
|
| index 90f5554ba3915d1deb71674f38f7eaaed7716598..4c1608158b3c2d6f16de7fea4befde456b3b9b55 100644
|
| --- a/content/renderer/gpu/compositor_external_begin_frame_source.cc
|
| +++ b/content/renderer/gpu/compositor_external_begin_frame_source.cc
|
| @@ -55,6 +55,12 @@ void CompositorExternalBeginFrameSource::RemoveObserver(
|
| external_begin_frame_source_.RemoveObserver(obs);
|
| }
|
|
|
| +void CompositorExternalBeginFrameSource::DidFinishFrame(
|
| + cc::BeginFrameObserver* obs,
|
| + const cc::BeginFrameAck& ack) {
|
| + external_begin_frame_source_.DidFinishFrame(obs, ack);
|
| +}
|
| +
|
| bool CompositorExternalBeginFrameSource::IsThrottled() const {
|
| return true;
|
| }
|
| @@ -66,7 +72,10 @@ void CompositorExternalBeginFrameSource::OnNeedsBeginFrames(
|
|
|
| void CompositorExternalBeginFrameSource::OnDidFinishFrame(
|
| const cc::BeginFrameAck& ack) {
|
| - // TODO(eseckler): Pass on the ack to the view host.
|
| + DCHECK_LE(cc::BeginFrameArgs::kStartingFrameNumber, ack.sequence_number);
|
| + // If there was damage, ViewHostMsg_SwapCompositorFrame includes the ack.
|
| + if (!ack.has_damage)
|
| + Send(new ViewHostMsg_BeginFrameDidNotSwap(routing_id_, ack));
|
| }
|
|
|
| void CompositorExternalBeginFrameSource::OnMessageReceived(
|
|
|