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 0d2e90bd0a37b42e852d75af9227b41b43b93c09..23e44813919b4d5a33cb8af29376fe25663acfe2 100644 |
--- a/cc/surfaces/compositor_frame_sink_support.cc |
+++ b/cc/surfaces/compositor_frame_sink_support.cc |
@@ -134,11 +134,14 @@ void CompositorFrameSinkSupport::DidReceiveCompositorFrameAck() { |
if (!client_) |
return; |
- client_->DidReceiveCompositorFrameAck(); |
+ |
+ // We return the resources before sending an ack so they can be reused in |
+ // making the next CompositorFrame. |
if (!surface_returned_resources_.empty()) { |
client_->ReclaimResources(surface_returned_resources_); |
surface_returned_resources_.clear(); |
} |
+ client_->DidReceiveCompositorFrameAck(); |
} |
void CompositorFrameSinkSupport::ForceReclaimResources() { |