| Index: cc/test/fake_output_surface.cc
|
| diff --git a/cc/test/fake_output_surface.cc b/cc/test/fake_output_surface.cc
|
| index 3408964ff5708586ee7c6dec89beda6a648f2a08..f8a9b7cb6e0a40f83a2b2677ac338086bb92f54a 100644
|
| --- a/cc/test/fake_output_surface.cc
|
| +++ b/cc/test/fake_output_surface.cc
|
| @@ -44,21 +44,23 @@ FakeOutputSurface::FakeOutputSurface(
|
|
|
| FakeOutputSurface::~FakeOutputSurface() {}
|
|
|
| -void FakeOutputSurface::SwapBuffers(CompositorFrame* frame) {
|
| - if (frame->delegated_frame_data || !context_provider()) {
|
| - frame->AssignTo(&last_sent_frame_);
|
| +void FakeOutputSurface::SwapBuffers(CompositorFrame frame) {
|
| + std::unique_ptr<CompositorFrame> frame_copy(new CompositorFrame);
|
| + *frame_copy = std::move(frame);
|
| + if (frame_copy->delegated_frame_data || !context_provider()) {
|
| + last_sent_frame_ = std::move(frame_copy);
|
|
|
| - if (last_sent_frame_.delegated_frame_data) {
|
| + if (last_sent_frame_->delegated_frame_data) {
|
| resources_held_by_parent_.insert(
|
| resources_held_by_parent_.end(),
|
| - last_sent_frame_.delegated_frame_data->resource_list.begin(),
|
| - last_sent_frame_.delegated_frame_data->resource_list.end());
|
| + last_sent_frame_->delegated_frame_data->resource_list.begin(),
|
| + last_sent_frame_->delegated_frame_data->resource_list.end());
|
| }
|
|
|
| ++num_sent_frames_;
|
| } else {
|
| - last_swap_rect_ = frame->gl_frame_data->sub_buffer_rect;
|
| - frame->AssignTo(&last_sent_frame_);
|
| + last_swap_rect_ = frame_copy->gl_frame_data->sub_buffer_rect;
|
| + last_sent_frame_ = std::move(frame_copy);
|
| ++num_sent_frames_;
|
| }
|
| PostSwapBuffersComplete();
|
|
|