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( |