| OLD | NEW |
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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/surfaces/compositor_frame_sink_support.h" | 5 #include "cc/surfaces/compositor_frame_sink_support.h" |
| 6 | 6 |
| 7 #include "base/macros.h" | 7 #include "base/macros.h" |
| 8 #include "cc/output/compositor_frame.h" | 8 #include "cc/output/compositor_frame.h" |
| 9 #include "cc/surfaces/compositor_frame_sink_support_client.h" | 9 #include "cc/surfaces/compositor_frame_sink_support_client.h" |
| 10 #include "cc/surfaces/frame_sink_id.h" | 10 #include "cc/surfaces/frame_sink_id.h" |
| 11 #include "cc/surfaces/surface_id.h" | 11 #include "cc/surfaces/surface_id.h" |
| 12 #include "cc/surfaces/surface_manager.h" |
| 12 #include "cc/test/begin_frame_args_test.h" | 13 #include "cc/test/begin_frame_args_test.h" |
| 13 #include "cc/test/fake_external_begin_frame_source.h" | 14 #include "cc/test/fake_external_begin_frame_source.h" |
| 14 #include "testing/gmock/include/gmock/gmock.h" | 15 #include "testing/gmock/include/gmock/gmock.h" |
| 15 #include "testing/gtest/include/gtest/gtest.h" | 16 #include "testing/gtest/include/gtest/gtest.h" |
| 16 | 17 |
| 17 using testing::UnorderedElementsAre; | 18 using testing::UnorderedElementsAre; |
| 18 using testing::IsEmpty; | 19 using testing::IsEmpty; |
| 19 using testing::SizeIs; | 20 using testing::SizeIs; |
| 20 | 21 |
| 21 namespace cc { | 22 namespace cc { |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 90 // testing::Test: | 91 // testing::Test: |
| 91 void SetUp() override { | 92 void SetUp() override { |
| 92 testing::Test::SetUp(); | 93 testing::Test::SetUp(); |
| 93 begin_frame_source_ = | 94 begin_frame_source_ = |
| 94 base::MakeUnique<FakeExternalBeginFrameSource>(0.f, false); | 95 base::MakeUnique<FakeExternalBeginFrameSource>(0.f, false); |
| 95 std::unique_ptr<SurfaceDependencyTracker> dependency_tracker( | 96 std::unique_ptr<SurfaceDependencyTracker> dependency_tracker( |
| 96 new SurfaceDependencyTracker(&surface_manager_, | 97 new SurfaceDependencyTracker(&surface_manager_, |
| 97 begin_frame_source_.get())); | 98 begin_frame_source_.get())); |
| 98 surface_manager_.SetDependencyTracker(std::move(dependency_tracker)); | 99 surface_manager_.SetDependencyTracker(std::move(dependency_tracker)); |
| 99 supports_.push_back(base::MakeUnique<CompositorFrameSinkSupport>( | 100 supports_.push_back(base::MakeUnique<CompositorFrameSinkSupport>( |
| 100 this, &surface_manager_, kParentFrameSink, nullptr /* display */, | 101 this, &surface_manager_, kParentFrameSink, |
| 101 nullptr /* display_begin_frame_source */)); | 102 false /* submits_to_display_compositor */)); |
| 102 supports_.push_back(base::MakeUnique<CompositorFrameSinkSupport>( | 103 supports_.push_back(base::MakeUnique<CompositorFrameSinkSupport>( |
| 103 this, &surface_manager_, kChildFrameSink1, nullptr /* display */, | 104 this, &surface_manager_, kChildFrameSink1, |
| 104 nullptr /* display_begin_frame_source */)); | 105 false /* submits_to_display_compositor */)); |
| 105 supports_.push_back(base::MakeUnique<CompositorFrameSinkSupport>( | 106 supports_.push_back(base::MakeUnique<CompositorFrameSinkSupport>( |
| 106 this, &surface_manager_, kChildFrameSink2, nullptr /* display */, | 107 this, &surface_manager_, kChildFrameSink2, |
| 107 nullptr /* display_begin_frame_source */)); | 108 false /* submits_to_display_compositor */)); |
| 108 } | 109 } |
| 109 | 110 |
| 110 void TearDown() override { | 111 void TearDown() override { |
| 111 surface_manager_.SetDependencyTracker(nullptr); | 112 surface_manager_.SetDependencyTracker(nullptr); |
| 112 | 113 |
| 113 // SurfaceDependencyTracker depends on this BeginFrameSource and so it must | 114 // SurfaceDependencyTracker depends on this BeginFrameSource and so it must |
| 114 // be destroyed AFTER the dependency tracker is destroyed. | 115 // be destroyed AFTER the dependency tracker is destroyed. |
| 115 begin_frame_source_.reset(); | 116 begin_frame_source_.reset(); |
| 116 | 117 |
| 117 supports_.clear(); | 118 supports_.clear(); |
| (...skipping 320 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 438 UnorderedElementsAre(arbitrary_id)); | 439 UnorderedElementsAre(arbitrary_id)); |
| 439 // Verify that the parent will add a reference to |arbitrary_id| and will not | 440 // Verify that the parent will add a reference to |arbitrary_id| and will not |
| 440 // remove a reference to |child_id|. | 441 // remove a reference to |child_id|. |
| 441 EXPECT_THAT(parent_reference_tracker().references_to_add(), | 442 EXPECT_THAT(parent_reference_tracker().references_to_add(), |
| 442 UnorderedElementsAre(parent_arbitrary_reference)); | 443 UnorderedElementsAre(parent_arbitrary_reference)); |
| 443 EXPECT_THAT(parent_reference_tracker().references_to_remove(), IsEmpty()); | 444 EXPECT_THAT(parent_reference_tracker().references_to_remove(), IsEmpty()); |
| 444 } | 445 } |
| 445 | 446 |
| 446 } // namespace test | 447 } // namespace test |
| 447 } // namespace cc | 448 } // namespace cc |
| OLD | NEW |