| Index: cc/surfaces/surface.cc
|
| diff --git a/cc/surfaces/surface.cc b/cc/surfaces/surface.cc
|
| index 57e3a3c98f3c47e4a35a5256a168900be8d0794b..c2ab3541abca7fa12fb9dcfd0f0a18ac3ab28de1 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_);
|
| }
|
| @@ -177,7 +180,7 @@ void Surface::ActivateFrame(CompositorFrame frame) {
|
| if (previous_frame)
|
| UnrefFrameResources(*previous_frame);
|
|
|
| - referenced_surfaces_ = active_frame_->metadata.referenced_surfaces;
|
| + active_referenced_surfaces_ = active_frame_->metadata.referenced_surfaces;
|
|
|
| for (auto& observer : observers_)
|
| observer.OnSurfaceActivated(this);
|
|
|