Index: cc/surfaces/surface.cc |
diff --git a/cc/surfaces/surface.cc b/cc/surfaces/surface.cc |
index 57e3a3c98f3c47e4a35a5256a168900be8d0794b..9f6fe7358b03fcc23f07aa6f8b9cbd5f8ea06e15 100644 |
--- a/cc/surfaces/surface.cc |
+++ b/cc/surfaces/surface.cc |
@@ -63,6 +63,8 @@ void Surface::QueueFrame(CompositorFrame frame, const DrawCallback& callback) { |
pending_frame_ = std::move(frame); |
if (pending_frame_) { |
factory_->ReceiveFromChild(pending_frame_->resource_list); |
+ pending_referenced_surfaces_ = |
+ pending_frame_->metadata.referenced_surfaces; |
// Ask the surface manager to inform |this| when its dependencies are |
// resolved. |
factory_->manager()->RequestSurfaceResolution(this); |
@@ -149,6 +151,7 @@ void Surface::ActivatePendingFrame() { |
DCHECK(pending_frame_); |
ActivateFrame(std::move(pending_frame_.value())); |
pending_frame_.reset(); |
+ pending_referenced_surfaces_.clear(); |
// ActiveFrame resources are now double ref-ed. Unref. |
UnrefFrameResources(*active_frame_); |
} |