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

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

Issue 2159513003: Setup LayerTree class, refactor 2 functions from LayerTreeHost to it. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Use friend class for test code, or we need hundreds of SetSomethingForTest functions in future refa… Created 4 years, 5 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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_proto_converter.h" 5 #include "cc/layers/layer_proto_converter.h"
6 6
7 #include "cc/layers/empty_content_layer_client.h" 7 #include "cc/layers/empty_content_layer_client.h"
8 #include "cc/layers/heads_up_display_layer.h" 8 #include "cc/layers/heads_up_display_layer.h"
9 #include "cc/layers/layer.h" 9 #include "cc/layers/layer.h"
10 #include "cc/layers/picture_layer.h" 10 #include "cc/layers/picture_layer.h"
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
196 layer_src_a->AddChild(layer_src_c); 196 layer_src_a->AddChild(layer_src_c);
197 layer_src_b->AddChild(layer_src_d); 197 layer_src_b->AddChild(layer_src_d);
198 layer_src_b->SetMaskLayer(layer_src_b_mask.get()); 198 layer_src_b->SetMaskLayer(layer_src_b_mask.get());
199 layer_src_b->SetReplicaLayer(layer_src_b_replica.get()); 199 layer_src_b->SetReplicaLayer(layer_src_b_replica.get());
200 200
201 proto::LayerUpdate layer_update; 201 proto::LayerUpdate layer_update;
202 LayerProtoConverter::SerializeLayerProperties( 202 LayerProtoConverter::SerializeLayerProperties(
203 layer_src_root->layer_tree_host(), &layer_update); 203 layer_src_root->layer_tree_host(), &layer_update);
204 204
205 // All flags for pushing properties should have been cleared. 205 // All flags for pushing properties should have been cleared.
206 EXPECT_FALSE(layer_src_root->layer_tree_host()
207 ->GetLayerTree()
208 ->LayerNeedsPushPropertiesForTesting(layer_src_root.get()));
209 EXPECT_FALSE(layer_src_a->layer_tree_host()
210 ->GetLayerTree()
211 ->LayerNeedsPushPropertiesForTesting(layer_src_a.get()));
212 EXPECT_FALSE(layer_src_b->layer_tree_host()
213 ->GetLayerTree()
214 ->LayerNeedsPushPropertiesForTesting(layer_src_b.get()));
206 EXPECT_FALSE( 215 EXPECT_FALSE(
207 layer_src_root->layer_tree_host()->LayerNeedsPushPropertiesForTesting( 216 layer_src_b_mask->layer_tree_host()
208 layer_src_root.get())); 217 ->GetLayerTree()
209 EXPECT_FALSE( 218 ->LayerNeedsPushPropertiesForTesting(layer_src_b_mask.get()));
210 layer_src_a->layer_tree_host()->LayerNeedsPushPropertiesForTesting(
211 layer_src_a.get()));
212 EXPECT_FALSE(
213 layer_src_b->layer_tree_host()->LayerNeedsPushPropertiesForTesting(
214 layer_src_b.get()));
215 EXPECT_FALSE(
216 layer_src_b_mask->layer_tree_host()->LayerNeedsPushPropertiesForTesting(
217 layer_src_b_mask.get()));
218 EXPECT_FALSE( 219 EXPECT_FALSE(
219 layer_src_b_replica->layer_tree_host() 220 layer_src_b_replica->layer_tree_host()
221 ->GetLayerTree()
220 ->LayerNeedsPushPropertiesForTesting(layer_src_b_replica.get())); 222 ->LayerNeedsPushPropertiesForTesting(layer_src_b_replica.get()));
221 EXPECT_FALSE( 223 EXPECT_FALSE(layer_src_c->layer_tree_host()
222 layer_src_c->layer_tree_host()->LayerNeedsPushPropertiesForTesting( 224 ->GetLayerTree()
223 layer_src_c.get())); 225 ->LayerNeedsPushPropertiesForTesting(layer_src_c.get()));
224 EXPECT_FALSE( 226 EXPECT_FALSE(layer_src_d->layer_tree_host()
225 layer_src_d->layer_tree_host()->LayerNeedsPushPropertiesForTesting( 227 ->GetLayerTree()
226 layer_src_d.get())); 228 ->LayerNeedsPushPropertiesForTesting(layer_src_d.get()));
227 229
228 // All layers needs to push properties as their layer tree host changed. 230 // All layers needs to push properties as their layer tree host changed.
229 ASSERT_EQ(7, layer_update.layers_size()); 231 ASSERT_EQ(7, layer_update.layers_size());
230 layer_update.Clear(); 232 layer_update.Clear();
231 233
232 std::unordered_set<int> dirty_layer_ids; 234 std::unordered_set<int> dirty_layer_ids;
233 layer_src_a->SetNeedsPushProperties(); 235 layer_src_a->SetNeedsPushProperties();
234 dirty_layer_ids.insert(layer_src_a->id()); 236 dirty_layer_ids.insert(layer_src_a->id());
235 layer_src_b->SetNeedsPushProperties(); 237 layer_src_b->SetNeedsPushProperties();
236 dirty_layer_ids.insert(layer_src_b->id()); 238 dirty_layer_ids.insert(layer_src_b->id());
237 layer_src_b_mask->SetNeedsPushProperties(); 239 layer_src_b_mask->SetNeedsPushProperties();
238 dirty_layer_ids.insert(layer_src_b_mask->id()); 240 dirty_layer_ids.insert(layer_src_b_mask->id());
239 layer_src_d->SetNeedsPushProperties(); 241 layer_src_d->SetNeedsPushProperties();
240 dirty_layer_ids.insert(layer_src_d->id()); 242 dirty_layer_ids.insert(layer_src_d->id());
241 243
242 LayerProtoConverter::SerializeLayerProperties( 244 LayerProtoConverter::SerializeLayerProperties(
243 layer_src_root->layer_tree_host(), &layer_update); 245 layer_src_root->layer_tree_host(), &layer_update);
244 246
245 // All flags for pushing properties should have been cleared. 247 // All flags for pushing properties should have been cleared.
248 EXPECT_FALSE(layer_src_root->layer_tree_host()
249 ->GetLayerTree()
250 ->LayerNeedsPushPropertiesForTesting(layer_src_root.get()));
251 EXPECT_FALSE(layer_src_a->layer_tree_host()
252 ->GetLayerTree()
253 ->LayerNeedsPushPropertiesForTesting(layer_src_a.get()));
254 EXPECT_FALSE(layer_src_b->layer_tree_host()
255 ->GetLayerTree()
256 ->LayerNeedsPushPropertiesForTesting(layer_src_b.get()));
246 EXPECT_FALSE( 257 EXPECT_FALSE(
247 layer_src_root->layer_tree_host()->LayerNeedsPushPropertiesForTesting( 258 layer_src_b_mask->layer_tree_host()
248 layer_src_root.get())); 259 ->GetLayerTree()
249 EXPECT_FALSE( 260 ->LayerNeedsPushPropertiesForTesting(layer_src_b_mask.get()));
250 layer_src_a->layer_tree_host()->LayerNeedsPushPropertiesForTesting(
251 layer_src_a.get()));
252 EXPECT_FALSE(
253 layer_src_b->layer_tree_host()->LayerNeedsPushPropertiesForTesting(
254 layer_src_b.get()));
255 EXPECT_FALSE(
256 layer_src_b_mask->layer_tree_host()->LayerNeedsPushPropertiesForTesting(
257 layer_src_b_mask.get()));
258 EXPECT_FALSE( 261 EXPECT_FALSE(
259 layer_src_b_replica->layer_tree_host() 262 layer_src_b_replica->layer_tree_host()
263 ->GetLayerTree()
260 ->LayerNeedsPushPropertiesForTesting(layer_src_b_replica.get())); 264 ->LayerNeedsPushPropertiesForTesting(layer_src_b_replica.get()));
261 EXPECT_FALSE( 265 EXPECT_FALSE(layer_src_c->layer_tree_host()
262 layer_src_c->layer_tree_host()->LayerNeedsPushPropertiesForTesting( 266 ->GetLayerTree()
263 layer_src_c.get())); 267 ->LayerNeedsPushPropertiesForTesting(layer_src_c.get()));
264 EXPECT_FALSE( 268 EXPECT_FALSE(layer_src_d->layer_tree_host()
265 layer_src_d->layer_tree_host()->LayerNeedsPushPropertiesForTesting( 269 ->GetLayerTree()
266 layer_src_d.get())); 270 ->LayerNeedsPushPropertiesForTesting(layer_src_d.get()));
267 271
268 // Only 4 of the layers should have been serialized. 272 // Only 4 of the layers should have been serialized.
269 ASSERT_EQ(4, layer_update.layers_size()); 273 ASSERT_EQ(4, layer_update.layers_size());
270 for (int index = 0; index < layer_update.layers_size(); index++) 274 for (int index = 0; index < layer_update.layers_size(); index++)
271 EXPECT_NE(dirty_layer_ids.find(layer_update.layers(index).id()), 275 EXPECT_NE(dirty_layer_ids.find(layer_update.layers(index).id()),
272 dirty_layer_ids.end()); 276 dirty_layer_ids.end());
273 layer_src_root->SetLayerTreeHost(nullptr); 277 layer_src_root->SetLayerTreeHost(nullptr);
274 } 278 }
275 279
276 TEST_F(LayerProtoConverterTest, RecursivePropertiesSerializationSingleChild) { 280 TEST_F(LayerProtoConverterTest, RecursivePropertiesSerializationSingleChild) {
(...skipping 26 matching lines...) Expand all
303 std::unordered_set<int> dirty_layer_ids; 307 std::unordered_set<int> dirty_layer_ids;
304 layer_src_b->SetNeedsPushProperties(); 308 layer_src_b->SetNeedsPushProperties();
305 dirty_layer_ids.insert(layer_src_b->id()); 309 dirty_layer_ids.insert(layer_src_b->id());
306 layer_src_b_mask->SetNeedsPushProperties(); 310 layer_src_b_mask->SetNeedsPushProperties();
307 dirty_layer_ids.insert(layer_src_b_mask->id()); 311 dirty_layer_ids.insert(layer_src_b_mask->id());
308 312
309 LayerProtoConverter::SerializeLayerProperties( 313 LayerProtoConverter::SerializeLayerProperties(
310 layer_src_root->layer_tree_host(), &layer_update); 314 layer_src_root->layer_tree_host(), &layer_update);
311 315
312 // All flags for pushing properties should have been cleared. 316 // All flags for pushing properties should have been cleared.
317 EXPECT_FALSE(layer_src_root->layer_tree_host()
318 ->GetLayerTree()
319 ->LayerNeedsPushPropertiesForTesting(layer_src_root.get()));
320 EXPECT_FALSE(layer_src_b->layer_tree_host()
321 ->GetLayerTree()
322 ->LayerNeedsPushPropertiesForTesting(layer_src_b.get()));
313 EXPECT_FALSE( 323 EXPECT_FALSE(
314 layer_src_root->layer_tree_host()->LayerNeedsPushPropertiesForTesting( 324 layer_src_b_mask->layer_tree_host()
315 layer_src_root.get())); 325 ->GetLayerTree()
316 EXPECT_FALSE( 326 ->LayerNeedsPushPropertiesForTesting(layer_src_b_mask.get()));
317 layer_src_b->layer_tree_host()->LayerNeedsPushPropertiesForTesting( 327 EXPECT_FALSE(layer_src_c->layer_tree_host()
318 layer_src_b.get())); 328 ->GetLayerTree()
319 EXPECT_FALSE( 329 ->LayerNeedsPushPropertiesForTesting(layer_src_c.get()));
320 layer_src_b_mask->layer_tree_host()->LayerNeedsPushPropertiesForTesting(
321 layer_src_b_mask.get()));
322 EXPECT_FALSE(
323 layer_src_c->layer_tree_host()->LayerNeedsPushPropertiesForTesting(
324 layer_src_c.get()));
325 330
326 // Only 2 of the layers should have been serialized. 331 // Only 2 of the layers should have been serialized.
327 ASSERT_EQ(2, layer_update.layers_size()); 332 ASSERT_EQ(2, layer_update.layers_size());
328 for (int index = 0; index < layer_update.layers_size(); index++) 333 for (int index = 0; index < layer_update.layers_size(); index++)
329 EXPECT_NE(dirty_layer_ids.find(layer_update.layers(index).id()), 334 EXPECT_NE(dirty_layer_ids.find(layer_update.layers(index).id()),
330 dirty_layer_ids.end()); 335 dirty_layer_ids.end());
331 layer_src_root->SetLayerTreeHost(nullptr); 336 layer_src_root->SetLayerTreeHost(nullptr);
332 } 337 }
333 338
334 TEST_F(LayerProtoConverterTest, PictureLayerTypeSerialization) { 339 TEST_F(LayerProtoConverterTest, PictureLayerTypeSerialization) {
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
396 // serialize to. 401 // serialize to.
397 proto::LayerNode layer_node; 402 proto::LayerNode layer_node;
398 new_root->SetTypeForProtoSerialization(&layer_node); 403 new_root->SetTypeForProtoSerialization(&layer_node);
399 EXPECT_EQ(proto::LayerNode::HEADS_UP_DISPLAY_LAYER, layer_node.type()); 404 EXPECT_EQ(proto::LayerNode::HEADS_UP_DISPLAY_LAYER, layer_node.type());
400 405
401 new_root->SetLayerTreeHost(nullptr); 406 new_root->SetLayerTreeHost(nullptr);
402 } 407 }
403 408
404 } // namespace 409 } // namespace
405 } // namespace cc 410 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698