| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "cc/test/fake_output_surface.h" | 5 #include "cc/test/fake_output_surface.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/message_loop/message_loop.h" | 8 #include "base/message_loop/message_loop.h" |
| 9 #include "cc/output/compositor_frame_ack.h" | |
| 10 #include "cc/output/output_surface_client.h" | 9 #include "cc/output/output_surface_client.h" |
| 11 #include "cc/resources/returned_resource.h" | 10 #include "cc/resources/returned_resource.h" |
| 12 #include "cc/test/begin_frame_args_test.h" | 11 #include "cc/test/begin_frame_args_test.h" |
| 13 #include "testing/gtest/include/gtest/gtest.h" | 12 #include "testing/gtest/include/gtest/gtest.h" |
| 14 | 13 |
| 15 namespace cc { | 14 namespace cc { |
| 16 | 15 |
| 17 FakeOutputSurface::FakeOutputSurface( | 16 FakeOutputSurface::FakeOutputSurface( |
| 18 scoped_refptr<ContextProvider> context_provider, | 17 scoped_refptr<ContextProvider> context_provider, |
| 19 scoped_refptr<ContextProvider> worker_context_provider, | 18 scoped_refptr<ContextProvider> worker_context_provider, |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 124 void FakeOutputSurface::SetMemoryPolicyToSetAtBind( | 123 void FakeOutputSurface::SetMemoryPolicyToSetAtBind( |
| 125 std::unique_ptr<ManagedMemoryPolicy> memory_policy_to_set_at_bind) { | 124 std::unique_ptr<ManagedMemoryPolicy> memory_policy_to_set_at_bind) { |
| 126 memory_policy_to_set_at_bind_.swap(memory_policy_to_set_at_bind); | 125 memory_policy_to_set_at_bind_.swap(memory_policy_to_set_at_bind); |
| 127 } | 126 } |
| 128 | 127 |
| 129 void FakeOutputSurface::ReturnResourcesHeldByParent() { | 128 void FakeOutputSurface::ReturnResourcesHeldByParent() { |
| 130 // Check |delegated_frame_data| because we shouldn't reclaim resources | 129 // Check |delegated_frame_data| because we shouldn't reclaim resources |
| 131 // for the Display which does not swap delegated frames. | 130 // for the Display which does not swap delegated frames. |
| 132 if (last_sent_frame_ && last_sent_frame_->delegated_frame_data) { | 131 if (last_sent_frame_ && last_sent_frame_->delegated_frame_data) { |
| 133 // Return the last frame's resources immediately. | 132 // Return the last frame's resources immediately. |
| 134 CompositorFrameAck ack; | 133 ReturnedResourceArray resources; |
| 135 for (const auto& resource : resources_held_by_parent_) | 134 for (const auto& resource : resources_held_by_parent_) |
| 136 ack.resources.push_back(resource.ToReturnedResource()); | 135 resources.push_back(resource.ToReturnedResource()); |
| 137 resources_held_by_parent_.clear(); | 136 resources_held_by_parent_.clear(); |
| 138 client_->ReclaimResources(&ack); | 137 client_->ReclaimResources(resources); |
| 139 } | 138 } |
| 140 } | 139 } |
| 141 | 140 |
| 142 } // namespace cc | 141 } // namespace cc |
| OLD | NEW |