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

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

Issue 2661543002: Rename LocalFrameId to LocalSurfaceId (Closed)
Patch Set: c Created 3 years, 10 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/surface_layer_impl_unittest.cc ('k') | cc/quads/draw_quad_unittest.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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 <stdint.h> 5 #include <stdint.h>
6 6
7 #include <set> 7 #include <set>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/location.h" 10 #include "base/location.h"
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 base::UnguessableToken::Create(); 93 base::UnguessableToken::Create();
94 SurfaceSequence blank_change; // Receives sequence if commit doesn't happen. 94 SurfaceSequence blank_change; // Receives sequence if commit doesn't happen.
95 95
96 SurfaceId required_id; 96 SurfaceId required_id;
97 std::set<SurfaceSequence> required_seq; 97 std::set<SurfaceSequence> required_seq;
98 scoped_refptr<SurfaceReferenceFactory> ref_factory = 98 scoped_refptr<SurfaceReferenceFactory> ref_factory =
99 new TestSurfaceReferenceFactory(&blank_change, &required_id, 99 new TestSurfaceReferenceFactory(&blank_change, &required_id,
100 &required_seq); 100 &required_seq);
101 auto layer = SurfaceLayer::Create(ref_factory); 101 auto layer = SurfaceLayer::Create(ref_factory);
102 SurfaceInfo info( 102 SurfaceInfo info(
103 SurfaceId(kArbitraryFrameSinkId, LocalFrameId(1, kArbitraryToken)), 1.f, 103 SurfaceId(kArbitraryFrameSinkId, LocalSurfaceId(1, kArbitraryToken)), 1.f,
104 gfx::Size(1, 1)); 104 gfx::Size(1, 1));
105 layer->SetSurfaceInfo(info); 105 layer->SetSurfaceInfo(info);
106 layer_tree_host_->GetSurfaceSequenceGenerator()->set_frame_sink_id( 106 layer_tree_host_->GetSurfaceSequenceGenerator()->set_frame_sink_id(
107 FrameSinkId(1, 1)); 107 FrameSinkId(1, 1));
108 layer_tree_->SetRootLayer(layer); 108 layer_tree_->SetRootLayer(layer);
109 109
110 auto animation_host2 = AnimationHost::CreateForTesting(ThreadInstance::MAIN); 110 auto animation_host2 = AnimationHost::CreateForTesting(ThreadInstance::MAIN);
111 std::unique_ptr<FakeLayerTreeHost> layer_tree_host2 = 111 std::unique_ptr<FakeLayerTreeHost> layer_tree_host2 =
112 FakeLayerTreeHost::Create(&fake_client_, &task_graph_runner_, 112 FakeLayerTreeHost::Create(&fake_client_, &task_graph_runner_,
113 animation_host2.get()); 113 animation_host2.get());
(...skipping 14 matching lines...) Expand all
128 animation_host2 = nullptr; 128 animation_host2 = nullptr;
129 129
130 // Layer was removed so sequence from second LayerTreeHost should be 130 // Layer was removed so sequence from second LayerTreeHost should be
131 // satisfied. 131 // satisfied.
132 base::RunLoop().RunUntilIdle(); 132 base::RunLoop().RunUntilIdle();
133 EXPECT_TRUE(blank_change == expected2); 133 EXPECT_TRUE(blank_change == expected2);
134 134
135 // Set of sequences that need to be satisfied should include sequences from 135 // Set of sequences that need to be satisfied should include sequences from
136 // both trees. 136 // both trees.
137 EXPECT_TRUE(required_id == SurfaceId(kArbitraryFrameSinkId, 137 EXPECT_TRUE(required_id == SurfaceId(kArbitraryFrameSinkId,
138 LocalFrameId(1, kArbitraryToken))); 138 LocalSurfaceId(1, kArbitraryToken)));
139 EXPECT_EQ(2u, required_seq.size()); 139 EXPECT_EQ(2u, required_seq.size());
140 EXPECT_TRUE(required_seq.count(expected1)); 140 EXPECT_TRUE(required_seq.count(expected1));
141 EXPECT_TRUE(required_seq.count(expected2)); 141 EXPECT_TRUE(required_seq.count(expected2));
142 142
143 layer_tree_->SetRootLayer(nullptr); 143 layer_tree_->SetRootLayer(nullptr);
144 layer_tree_host_.reset(); 144 layer_tree_host_.reset();
145 145
146 // Layer was removed so sequence from first LayerTreeHost should be 146 // Layer was removed so sequence from first LayerTreeHost should be
147 // satisfied. 147 // satisfied.
148 base::RunLoop().RunUntilIdle(); 148 base::RunLoop().RunUntilIdle();
149 EXPECT_TRUE(blank_change == expected1); 149 EXPECT_TRUE(blank_change == expected1);
150 150
151 // No more SurfaceSequences should have been generated that need to have be 151 // No more SurfaceSequences should have been generated that need to have be
152 // satisfied. 152 // satisfied.
153 EXPECT_EQ(2u, required_seq.size()); 153 EXPECT_EQ(2u, required_seq.size());
154 } 154 }
155 155
156 // Check that SurfaceSequence is sent through swap promise. 156 // Check that SurfaceSequence is sent through swap promise.
157 class SurfaceLayerSwapPromise : public LayerTreeTest { 157 class SurfaceLayerSwapPromise : public LayerTreeTest {
158 public: 158 public:
159 SurfaceLayerSwapPromise() 159 SurfaceLayerSwapPromise()
160 : commit_count_(0), sequence_was_satisfied_(false) {} 160 : commit_count_(0), sequence_was_satisfied_(false) {}
161 161
162 void BeginTest() override { 162 void BeginTest() override {
163 layer_tree_host()->GetSurfaceSequenceGenerator()->set_frame_sink_id( 163 layer_tree_host()->GetSurfaceSequenceGenerator()->set_frame_sink_id(
164 FrameSinkId(1, 1)); 164 FrameSinkId(1, 1));
165 layer_ = SurfaceLayer::Create(new TestSurfaceReferenceFactory( 165 layer_ = SurfaceLayer::Create(new TestSurfaceReferenceFactory(
166 &satisfied_sequence_, &required_id_, &required_set_)); 166 &satisfied_sequence_, &required_id_, &required_set_));
167 SurfaceInfo info( 167 SurfaceInfo info(
168 SurfaceId(kArbitraryFrameSinkId, LocalFrameId(1, kArbitraryToken)), 1.f, 168 SurfaceId(kArbitraryFrameSinkId, LocalSurfaceId(1, kArbitraryToken)),
169 gfx::Size(1, 1)); 169 1.f, gfx::Size(1, 1));
170 layer_->SetSurfaceInfo(info); 170 layer_->SetSurfaceInfo(info);
171 171
172 // Layer hasn't been added to tree so no SurfaceSequence generated yet. 172 // Layer hasn't been added to tree so no SurfaceSequence generated yet.
173 EXPECT_EQ(0u, required_set_.size()); 173 EXPECT_EQ(0u, required_set_.size());
174 174
175 layer_tree()->SetRootLayer(layer_); 175 layer_tree()->SetRootLayer(layer_);
176 176
177 // Should have SurfaceSequence from first tree. 177 // Should have SurfaceSequence from first tree.
178 SurfaceSequence expected(kArbitraryFrameSinkId, 1u); 178 SurfaceSequence expected(kArbitraryFrameSinkId, 1u);
179 EXPECT_TRUE(required_id_ == SurfaceId(kArbitraryFrameSinkId, 179 EXPECT_TRUE(required_id_ == SurfaceId(kArbitraryFrameSinkId,
180 LocalFrameId(1, kArbitraryToken))); 180 LocalSurfaceId(1, kArbitraryToken)));
181 EXPECT_EQ(1u, required_set_.size()); 181 EXPECT_EQ(1u, required_set_.size());
182 EXPECT_TRUE(required_set_.count(expected)); 182 EXPECT_TRUE(required_set_.count(expected));
183 183
184 gfx::Size bounds(100, 100); 184 gfx::Size bounds(100, 100);
185 layer_tree()->SetViewportSize(bounds); 185 layer_tree()->SetViewportSize(bounds);
186 186
187 blank_layer_ = SolidColorLayer::Create(); 187 blank_layer_ = SolidColorLayer::Create();
188 blank_layer_->SetIsDrawable(true); 188 blank_layer_->SetIsDrawable(true);
189 blank_layer_->SetBounds(gfx::Size(10, 10)); 189 blank_layer_->SetBounds(gfx::Size(10, 10));
190 190
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 EndTest(); 226 EndTest();
227 break; 227 break;
228 default: 228 default:
229 NOTREACHED(); 229 NOTREACHED();
230 break; 230 break;
231 } 231 }
232 } 232 }
233 233
234 void AfterTest() override { 234 void AfterTest() override {
235 EXPECT_TRUE(required_id_ == SurfaceId(kArbitraryFrameSinkId, 235 EXPECT_TRUE(required_id_ == SurfaceId(kArbitraryFrameSinkId,
236 LocalFrameId(1, kArbitraryToken))); 236 LocalSurfaceId(1, kArbitraryToken)));
237 EXPECT_EQ(1u, required_set_.size()); 237 EXPECT_EQ(1u, required_set_.size());
238 EXPECT_TRUE(satisfied_sequence_ == 238 EXPECT_TRUE(satisfied_sequence_ ==
239 SurfaceSequence(kArbitraryFrameSinkId, 1u)); 239 SurfaceSequence(kArbitraryFrameSinkId, 1u));
240 } 240 }
241 }; 241 };
242 242
243 SINGLE_AND_MULTI_THREAD_TEST_F(SurfaceLayerSwapPromiseWithDraw); 243 SINGLE_AND_MULTI_THREAD_TEST_F(SurfaceLayerSwapPromiseWithDraw);
244 244
245 // Check that SurfaceSequence is sent through swap promise and resolved when 245 // Check that SurfaceSequence is sent through swap promise and resolved when
246 // swap fails. 246 // swap fails.
(...skipping 18 matching lines...) Expand all
265 layer_tree_host()->SetNeedsCommit(); 265 layer_tree_host()->SetNeedsCommit();
266 break; 266 break;
267 default: 267 default:
268 EndTest(); 268 EndTest();
269 break; 269 break;
270 } 270 }
271 } 271 }
272 272
273 void AfterTest() override { 273 void AfterTest() override {
274 EXPECT_TRUE(required_id_ == SurfaceId(kArbitraryFrameSinkId, 274 EXPECT_TRUE(required_id_ == SurfaceId(kArbitraryFrameSinkId,
275 LocalFrameId(1, kArbitraryToken))); 275 LocalSurfaceId(1, kArbitraryToken)));
276 EXPECT_EQ(1u, required_set_.size()); 276 EXPECT_EQ(1u, required_set_.size());
277 EXPECT_TRUE(satisfied_sequence_ == 277 EXPECT_TRUE(satisfied_sequence_ ==
278 SurfaceSequence(kArbitraryFrameSinkId, 1u)); 278 SurfaceSequence(kArbitraryFrameSinkId, 1u));
279 } 279 }
280 }; 280 };
281 281
282 MULTI_THREAD_TEST_F(SurfaceLayerSwapPromiseWithoutDraw); 282 MULTI_THREAD_TEST_F(SurfaceLayerSwapPromiseWithoutDraw);
283 283
284 } // namespace 284 } // namespace
285 } // namespace cc 285 } // namespace cc
OLDNEW
« no previous file with comments | « cc/layers/surface_layer_impl_unittest.cc ('k') | cc/quads/draw_quad_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698