Index: cc/surfaces/surface_display_output_surface.cc |
diff --git a/cc/surfaces/surface_display_output_surface.cc b/cc/surfaces/surface_display_output_surface.cc |
index 6dc569c724efd703f6f1a0a39886f2e57f26b2de..79b58119c60ebef6169ac700ea1d9b1aa6eb3953 100644 |
--- a/cc/surfaces/surface_display_output_surface.cc |
+++ b/cc/surfaces/surface_display_output_surface.cc |
@@ -76,8 +76,10 @@ |
client_->DidSwapBuffers(); |
+ std::unique_ptr<CompositorFrame> frame_copy(new CompositorFrame); |
+ *frame_copy = std::move(frame); |
factory_.SubmitCompositorFrame( |
- delegated_surface_id_, std::move(frame), |
+ delegated_surface_id_, std::move(frame_copy), |
base::Bind(&SurfaceDisplayOutputSurface::SwapBuffersComplete, |
base::Unretained(this))); |
} |
@@ -105,7 +107,7 @@ |
void SurfaceDisplayOutputSurface::ForceReclaimResources() { |
if (!delegated_surface_id_.is_null()) { |
- factory_.SubmitCompositorFrame(delegated_surface_id_, CompositorFrame(), |
+ factory_.SubmitCompositorFrame(delegated_surface_id_, nullptr, |
SurfaceFactory::DrawCallback()); |
} |
} |