Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(49)

Side by Side Diff: cc/layers/layer_list_iterator_unittest.cc

Issue 1866203004: Convert //cc from scoped_ptr to std::unique_ptr. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: scopedptrcc: rebase Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « cc/layers/layer_iterator_unittest.cc ('k') | cc/layers/layer_perftest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/layers/layer_list_iterator.h" 5 #include "cc/layers/layer_list_iterator.h"
6 6
7 #include <memory>
8
7 #include "base/containers/adapters.h" 9 #include "base/containers/adapters.h"
8 #include "base/memory/scoped_ptr.h"
9 #include "cc/test/fake_impl_task_runner_provider.h" 10 #include "cc/test/fake_impl_task_runner_provider.h"
10 #include "cc/test/fake_layer_tree_host_impl.h" 11 #include "cc/test/fake_layer_tree_host_impl.h"
11 #include "cc/test/fake_output_surface.h" 12 #include "cc/test/fake_output_surface.h"
12 #include "cc/test/test_shared_bitmap_manager.h" 13 #include "cc/test/test_shared_bitmap_manager.h"
13 #include "cc/test/test_task_graph_runner.h" 14 #include "cc/test/test_task_graph_runner.h"
14 #include "cc/trees/layer_tree_impl.h" 15 #include "cc/trees/layer_tree_impl.h"
15 #include "testing/gtest/include/gtest/gtest.h" 16 #include "testing/gtest/include/gtest/gtest.h"
16 17
17 namespace cc { 18 namespace cc {
18 namespace { 19 namespace {
19 20
20 TEST(LayerListIteratorTest, VerifyTraversalOrder) { 21 TEST(LayerListIteratorTest, VerifyTraversalOrder) {
21 // Unfortunate preamble. 22 // Unfortunate preamble.
22 FakeImplTaskRunnerProvider task_runner_provider; 23 FakeImplTaskRunnerProvider task_runner_provider;
23 TestSharedBitmapManager shared_bitmap_manager; 24 TestSharedBitmapManager shared_bitmap_manager;
24 TestTaskGraphRunner task_graph_runner; 25 TestTaskGraphRunner task_graph_runner;
25 scoped_ptr<OutputSurface> output_surface = FakeOutputSurface::Create3d(); 26 std::unique_ptr<OutputSurface> output_surface = FakeOutputSurface::Create3d();
26 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &shared_bitmap_manager, 27 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &shared_bitmap_manager,
27 &task_graph_runner); 28 &task_graph_runner);
28 host_impl.SetVisible(true); 29 host_impl.SetVisible(true);
29 EXPECT_TRUE(host_impl.InitializeRenderer(output_surface.get())); 30 EXPECT_TRUE(host_impl.InitializeRenderer(output_surface.get()));
30 31
31 // This test constructs the following tree. 32 // This test constructs the following tree.
32 // 1 33 // 1
33 // +-2 34 // +-2
34 // | +-3 35 // | +-3
35 // | +-4 36 // | +-4
36 // + 5 37 // + 5
37 // +-6 38 // +-6
38 // +-7 39 // +-7
39 // We expect to visit all seven layers in that order. 40 // We expect to visit all seven layers in that order.
40 scoped_ptr<LayerImpl> layer1 = LayerImpl::Create(host_impl.active_tree(), 1); 41 std::unique_ptr<LayerImpl> layer1 =
41 scoped_ptr<LayerImpl> layer2 = LayerImpl::Create(host_impl.active_tree(), 2); 42 LayerImpl::Create(host_impl.active_tree(), 1);
42 scoped_ptr<LayerImpl> layer3 = LayerImpl::Create(host_impl.active_tree(), 3); 43 std::unique_ptr<LayerImpl> layer2 =
43 scoped_ptr<LayerImpl> layer4 = LayerImpl::Create(host_impl.active_tree(), 4); 44 LayerImpl::Create(host_impl.active_tree(), 2);
44 scoped_ptr<LayerImpl> layer5 = LayerImpl::Create(host_impl.active_tree(), 5); 45 std::unique_ptr<LayerImpl> layer3 =
45 scoped_ptr<LayerImpl> layer6 = LayerImpl::Create(host_impl.active_tree(), 6); 46 LayerImpl::Create(host_impl.active_tree(), 3);
46 scoped_ptr<LayerImpl> layer7 = LayerImpl::Create(host_impl.active_tree(), 7); 47 std::unique_ptr<LayerImpl> layer4 =
48 LayerImpl::Create(host_impl.active_tree(), 4);
49 std::unique_ptr<LayerImpl> layer5 =
50 LayerImpl::Create(host_impl.active_tree(), 5);
51 std::unique_ptr<LayerImpl> layer6 =
52 LayerImpl::Create(host_impl.active_tree(), 6);
53 std::unique_ptr<LayerImpl> layer7 =
54 LayerImpl::Create(host_impl.active_tree(), 7);
47 55
48 layer2->AddChild(std::move(layer3)); 56 layer2->AddChild(std::move(layer3));
49 layer2->AddChild(std::move(layer4)); 57 layer2->AddChild(std::move(layer4));
50 58
51 layer5->AddChild(std::move(layer6)); 59 layer5->AddChild(std::move(layer6));
52 layer5->AddChild(std::move(layer7)); 60 layer5->AddChild(std::move(layer7));
53 61
54 layer1->AddChild(std::move(layer2)); 62 layer1->AddChild(std::move(layer2));
55 layer1->AddChild(std::move(layer5)); 63 layer1->AddChild(std::move(layer5));
56 64
57 host_impl.active_tree()->SetRootLayer(std::move(layer1)); 65 host_impl.active_tree()->SetRootLayer(std::move(layer1));
58 66
59 int i = 1; 67 int i = 1;
60 for (auto* layer : *host_impl.active_tree()) { 68 for (auto* layer : *host_impl.active_tree()) {
61 EXPECT_EQ(i++, layer->id()); 69 EXPECT_EQ(i++, layer->id());
62 } 70 }
63 EXPECT_EQ(8, i); 71 EXPECT_EQ(8, i);
64 } 72 }
65 73
66 TEST(LayerListIteratorTest, VerifySingleLayer) { 74 TEST(LayerListIteratorTest, VerifySingleLayer) {
67 // Unfortunate preamble. 75 // Unfortunate preamble.
68 FakeImplTaskRunnerProvider task_runner_provider; 76 FakeImplTaskRunnerProvider task_runner_provider;
69 TestSharedBitmapManager shared_bitmap_manager; 77 TestSharedBitmapManager shared_bitmap_manager;
70 TestTaskGraphRunner task_graph_runner; 78 TestTaskGraphRunner task_graph_runner;
71 scoped_ptr<OutputSurface> output_surface = FakeOutputSurface::Create3d(); 79 std::unique_ptr<OutputSurface> output_surface = FakeOutputSurface::Create3d();
72 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &shared_bitmap_manager, 80 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &shared_bitmap_manager,
73 &task_graph_runner); 81 &task_graph_runner);
74 host_impl.SetVisible(true); 82 host_impl.SetVisible(true);
75 EXPECT_TRUE(host_impl.InitializeRenderer(output_surface.get())); 83 EXPECT_TRUE(host_impl.InitializeRenderer(output_surface.get()));
76 84
77 // This test constructs a tree consisting of a single layer. 85 // This test constructs a tree consisting of a single layer.
78 scoped_ptr<LayerImpl> layer1 = LayerImpl::Create(host_impl.active_tree(), 1); 86 std::unique_ptr<LayerImpl> layer1 =
87 LayerImpl::Create(host_impl.active_tree(), 1);
79 host_impl.active_tree()->SetRootLayer(std::move(layer1)); 88 host_impl.active_tree()->SetRootLayer(std::move(layer1));
80 89
81 int i = 1; 90 int i = 1;
82 for (auto* layer : *host_impl.active_tree()) { 91 for (auto* layer : *host_impl.active_tree()) {
83 EXPECT_EQ(i++, layer->id()); 92 EXPECT_EQ(i++, layer->id());
84 } 93 }
85 EXPECT_EQ(2, i); 94 EXPECT_EQ(2, i);
86 } 95 }
87 96
88 TEST(LayerListIteratorTest, VerifyNullFirstLayer) { 97 TEST(LayerListIteratorTest, VerifyNullFirstLayer) {
89 // Ensures that if an iterator is constructed with a nullptr, that it can be 98 // Ensures that if an iterator is constructed with a nullptr, that it can be
90 // iterated without issue and that it remains equal to any other 99 // iterated without issue and that it remains equal to any other
91 // null-initialized iterator. 100 // null-initialized iterator.
92 LayerListIterator it(nullptr); 101 LayerListIterator it(nullptr);
93 LayerListIterator end(nullptr); 102 LayerListIterator end(nullptr);
94 103
95 EXPECT_EQ(it, end); 104 EXPECT_EQ(it, end);
96 ++it; 105 ++it;
97 EXPECT_EQ(it, end); 106 EXPECT_EQ(it, end);
98 } 107 }
99 108
100 TEST(LayerListReverseIteratorTest, VerifyTraversalOrder) { 109 TEST(LayerListReverseIteratorTest, VerifyTraversalOrder) {
101 // Unfortunate preamble. 110 // Unfortunate preamble.
102 FakeImplTaskRunnerProvider task_runner_provider; 111 FakeImplTaskRunnerProvider task_runner_provider;
103 TestSharedBitmapManager shared_bitmap_manager; 112 TestSharedBitmapManager shared_bitmap_manager;
104 TestTaskGraphRunner task_graph_runner; 113 TestTaskGraphRunner task_graph_runner;
105 scoped_ptr<OutputSurface> output_surface = FakeOutputSurface::Create3d(); 114 std::unique_ptr<OutputSurface> output_surface = FakeOutputSurface::Create3d();
106 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &shared_bitmap_manager, 115 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &shared_bitmap_manager,
107 &task_graph_runner); 116 &task_graph_runner);
108 host_impl.SetVisible(true); 117 host_impl.SetVisible(true);
109 EXPECT_TRUE(host_impl.InitializeRenderer(output_surface.get())); 118 EXPECT_TRUE(host_impl.InitializeRenderer(output_surface.get()));
110 119
111 // This test constructs the following tree. 120 // This test constructs the following tree.
112 // 1 121 // 1
113 // +-2 122 // +-2
114 // | +-3 123 // | +-3
115 // | +-4 124 // | +-4
116 // + 5 125 // + 5
117 // +-6 126 // +-6
118 // +-7 127 // +-7
119 // We expect to visit all seven layers in reverse order. 128 // We expect to visit all seven layers in reverse order.
120 scoped_ptr<LayerImpl> layer1 = LayerImpl::Create(host_impl.active_tree(), 1); 129 std::unique_ptr<LayerImpl> layer1 =
121 scoped_ptr<LayerImpl> layer2 = LayerImpl::Create(host_impl.active_tree(), 2); 130 LayerImpl::Create(host_impl.active_tree(), 1);
122 scoped_ptr<LayerImpl> layer3 = LayerImpl::Create(host_impl.active_tree(), 3); 131 std::unique_ptr<LayerImpl> layer2 =
123 scoped_ptr<LayerImpl> layer4 = LayerImpl::Create(host_impl.active_tree(), 4); 132 LayerImpl::Create(host_impl.active_tree(), 2);
124 scoped_ptr<LayerImpl> layer5 = LayerImpl::Create(host_impl.active_tree(), 5); 133 std::unique_ptr<LayerImpl> layer3 =
125 scoped_ptr<LayerImpl> layer6 = LayerImpl::Create(host_impl.active_tree(), 6); 134 LayerImpl::Create(host_impl.active_tree(), 3);
126 scoped_ptr<LayerImpl> layer7 = LayerImpl::Create(host_impl.active_tree(), 7); 135 std::unique_ptr<LayerImpl> layer4 =
136 LayerImpl::Create(host_impl.active_tree(), 4);
137 std::unique_ptr<LayerImpl> layer5 =
138 LayerImpl::Create(host_impl.active_tree(), 5);
139 std::unique_ptr<LayerImpl> layer6 =
140 LayerImpl::Create(host_impl.active_tree(), 6);
141 std::unique_ptr<LayerImpl> layer7 =
142 LayerImpl::Create(host_impl.active_tree(), 7);
127 143
128 layer2->AddChild(std::move(layer3)); 144 layer2->AddChild(std::move(layer3));
129 layer2->AddChild(std::move(layer4)); 145 layer2->AddChild(std::move(layer4));
130 146
131 layer5->AddChild(std::move(layer6)); 147 layer5->AddChild(std::move(layer6));
132 layer5->AddChild(std::move(layer7)); 148 layer5->AddChild(std::move(layer7));
133 149
134 layer1->AddChild(std::move(layer2)); 150 layer1->AddChild(std::move(layer2));
135 layer1->AddChild(std::move(layer5)); 151 layer1->AddChild(std::move(layer5));
136 152
137 host_impl.active_tree()->SetRootLayer(std::move(layer1)); 153 host_impl.active_tree()->SetRootLayer(std::move(layer1));
138 154
139 int i = 7; 155 int i = 7;
140 156
141 for (auto* layer : base::Reversed(*host_impl.active_tree())) { 157 for (auto* layer : base::Reversed(*host_impl.active_tree())) {
142 EXPECT_EQ(i--, layer->id()); 158 EXPECT_EQ(i--, layer->id());
143 } 159 }
144 160
145 EXPECT_EQ(0, i); 161 EXPECT_EQ(0, i);
146 } 162 }
147 163
148 TEST(LayerListReverseIteratorTest, VerifySingleLayer) { 164 TEST(LayerListReverseIteratorTest, VerifySingleLayer) {
149 // Unfortunate preamble. 165 // Unfortunate preamble.
150 FakeImplTaskRunnerProvider task_runner_provider; 166 FakeImplTaskRunnerProvider task_runner_provider;
151 TestSharedBitmapManager shared_bitmap_manager; 167 TestSharedBitmapManager shared_bitmap_manager;
152 TestTaskGraphRunner task_graph_runner; 168 TestTaskGraphRunner task_graph_runner;
153 scoped_ptr<OutputSurface> output_surface = FakeOutputSurface::Create3d(); 169 std::unique_ptr<OutputSurface> output_surface = FakeOutputSurface::Create3d();
154 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &shared_bitmap_manager, 170 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &shared_bitmap_manager,
155 &task_graph_runner); 171 &task_graph_runner);
156 host_impl.SetVisible(true); 172 host_impl.SetVisible(true);
157 EXPECT_TRUE(host_impl.InitializeRenderer(output_surface.get())); 173 EXPECT_TRUE(host_impl.InitializeRenderer(output_surface.get()));
158 174
159 // This test constructs a tree consisting of a single layer. 175 // This test constructs a tree consisting of a single layer.
160 scoped_ptr<LayerImpl> layer1 = LayerImpl::Create(host_impl.active_tree(), 1); 176 std::unique_ptr<LayerImpl> layer1 =
177 LayerImpl::Create(host_impl.active_tree(), 1);
161 host_impl.active_tree()->SetRootLayer(std::move(layer1)); 178 host_impl.active_tree()->SetRootLayer(std::move(layer1));
162 179
163 int i = 1; 180 int i = 1;
164 for (auto* layer : base::Reversed(*host_impl.active_tree())) { 181 for (auto* layer : base::Reversed(*host_impl.active_tree())) {
165 EXPECT_EQ(i--, layer->id()); 182 EXPECT_EQ(i--, layer->id());
166 } 183 }
167 EXPECT_EQ(0, i); 184 EXPECT_EQ(0, i);
168 } 185 }
169 186
170 TEST(LayerListReverseIteratorTest, VerifyNullFirstLayer) { 187 TEST(LayerListReverseIteratorTest, VerifyNullFirstLayer) {
171 // Ensures that if an iterator is constructed with a nullptr, that it can be 188 // Ensures that if an iterator is constructed with a nullptr, that it can be
172 // iterated without issue and that it remains equal to any other 189 // iterated without issue and that it remains equal to any other
173 // null-initialized iterator. 190 // null-initialized iterator.
174 LayerListReverseIterator it(nullptr); 191 LayerListReverseIterator it(nullptr);
175 LayerListReverseIterator end(nullptr); 192 LayerListReverseIterator end(nullptr);
176 193
177 EXPECT_EQ(it, end); 194 EXPECT_EQ(it, end);
178 ++it; 195 ++it;
179 EXPECT_EQ(it, end); 196 EXPECT_EQ(it, end);
180 } 197 }
181 198
182 } // namespace 199 } // namespace
183 } // namespace cc 200 } // namespace cc
OLDNEW
« no previous file with comments | « cc/layers/layer_iterator_unittest.cc ('k') | cc/layers/layer_perftest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698