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

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

Issue 1180073015: cc: Remove LayerImpl::SetContentBounds() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rm-setcontentbounds: . Created 5 years, 6 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/picture_layer_impl.h" 5 #include "cc/layers/picture_layer_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <limits> 8 #include <limits>
9 #include <set> 9 #include <set>
10 #include <utility> 10 #include <utility>
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 pending_layer->SetDrawsContent(true); 216 pending_layer->SetDrawsContent(true);
217 } else { 217 } else {
218 pending_layer.reset(static_cast<FakePictureLayerImpl*>( 218 pending_layer.reset(static_cast<FakePictureLayerImpl*>(
219 pending_root->RemoveChild(pending_root->children()[0]).release())); 219 pending_root->RemoveChild(pending_root->children()[0]).release()));
220 if (!tile_size.IsEmpty()) 220 if (!tile_size.IsEmpty())
221 pending_layer->set_fixed_tile_size(tile_size); 221 pending_layer->set_fixed_tile_size(tile_size);
222 } 222 }
223 pending_root->SetHasRenderSurface(true); 223 pending_root->SetHasRenderSurface(true);
224 // The bounds() just mirror the pile size. 224 // The bounds() just mirror the pile size.
225 pending_layer->SetBounds(raster_source->GetSize()); 225 pending_layer->SetBounds(raster_source->GetSize());
226 pending_layer->SetContentBounds(raster_source->GetSize());
227 pending_layer->SetRasterSourceOnPending(raster_source, invalidation); 226 pending_layer->SetRasterSourceOnPending(raster_source, invalidation);
228 227
229 pending_root->AddChild(pending_layer.Pass()); 228 pending_root->AddChild(pending_layer.Pass());
230 pending_tree->SetRootLayer(pending_root.Pass()); 229 pending_tree->SetRootLayer(pending_root.Pass());
231 230
232 pending_layer_ = static_cast<FakePictureLayerImpl*>( 231 pending_layer_ = static_cast<FakePictureLayerImpl*>(
233 host_impl_.pending_tree()->LayerById(id_)); 232 host_impl_.pending_tree()->LayerById(id_));
234 233
235 // Add tilings/tiles for the layer. 234 // Add tilings/tiles for the layer.
236 bool update_lcd_text = false; 235 bool update_lcd_text = false;
(...skipping 1051 matching lines...) Expand 10 before | Expand all | Expand 10 after
1288 EXPECT_BOTH_EQ(HighResTiling()->contents_scale(), contents_scale); 1287 EXPECT_BOTH_EQ(HighResTiling()->contents_scale(), contents_scale);
1289 EXPECT_BOTH_EQ(LowResTiling()->contents_scale(), 1288 EXPECT_BOTH_EQ(LowResTiling()->contents_scale(),
1290 contents_scale * low_res_factor); 1289 contents_scale * low_res_factor);
1291 EXPECT_BOTH_EQ(num_tilings(), 2u); 1290 EXPECT_BOTH_EQ(num_tilings(), 2u);
1292 1291
1293 // Mask layers dont create low res since they always fit on one tile. 1292 // Mask layers dont create low res since they always fit on one tile.
1294 scoped_ptr<FakePictureLayerImpl> mask = 1293 scoped_ptr<FakePictureLayerImpl> mask =
1295 FakePictureLayerImpl::CreateMaskWithRasterSource( 1294 FakePictureLayerImpl::CreateMaskWithRasterSource(
1296 host_impl_.pending_tree(), 3, pending_pile); 1295 host_impl_.pending_tree(), 3, pending_pile);
1297 mask->SetBounds(layer_bounds); 1296 mask->SetBounds(layer_bounds);
1298 mask->SetContentBounds(layer_bounds);
1299 mask->SetDrawsContent(true); 1297 mask->SetDrawsContent(true);
1300 1298
1301 SetupDrawPropertiesAndUpdateTiles( 1299 SetupDrawPropertiesAndUpdateTiles(
1302 mask.get(), contents_scale, device_scale, page_scale, 1300 mask.get(), contents_scale, device_scale, page_scale,
1303 maximum_animation_scale, starting_animation_scale, animating_transform); 1301 maximum_animation_scale, starting_animation_scale, animating_transform);
1304 EXPECT_EQ(mask->HighResTiling()->contents_scale(), contents_scale); 1302 EXPECT_EQ(mask->HighResTiling()->contents_scale(), contents_scale);
1305 EXPECT_EQ(mask->num_tilings(), 1u); 1303 EXPECT_EQ(mask->num_tilings(), 1u);
1306 } 1304 }
1307 1305
1308 TEST_F(PictureLayerImplTest, HugeMasksGetScaledDown) { 1306 TEST_F(PictureLayerImplTest, HugeMasksGetScaledDown) {
1309 host_impl_.AdvanceToNextFrame(base::TimeDelta::FromMilliseconds(1)); 1307 host_impl_.AdvanceToNextFrame(base::TimeDelta::FromMilliseconds(1));
1310 1308
1311 gfx::Size tile_size(100, 100); 1309 gfx::Size tile_size(100, 100);
1312 gfx::Size layer_bounds(1000, 1000); 1310 gfx::Size layer_bounds(1000, 1000);
1313 1311
1314 scoped_refptr<FakePicturePileImpl> valid_pile = 1312 scoped_refptr<FakePicturePileImpl> valid_pile =
1315 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); 1313 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds);
1316 SetupPendingTree(valid_pile); 1314 SetupPendingTree(valid_pile);
1317 1315
1318 scoped_ptr<FakePictureLayerImpl> mask_ptr = 1316 scoped_ptr<FakePictureLayerImpl> mask_ptr =
1319 FakePictureLayerImpl::CreateMaskWithRasterSource( 1317 FakePictureLayerImpl::CreateMaskWithRasterSource(
1320 host_impl_.pending_tree(), 3, valid_pile); 1318 host_impl_.pending_tree(), 3, valid_pile);
1321 mask_ptr->SetBounds(layer_bounds); 1319 mask_ptr->SetBounds(layer_bounds);
1322 mask_ptr->SetContentBounds(layer_bounds);
1323 mask_ptr->SetDrawsContent(true); 1320 mask_ptr->SetDrawsContent(true);
1324 pending_layer_->SetMaskLayer(mask_ptr.Pass()); 1321 pending_layer_->SetMaskLayer(mask_ptr.Pass());
1325 pending_layer_->SetHasRenderSurface(true); 1322 pending_layer_->SetHasRenderSurface(true);
1326 1323
1327 host_impl_.AdvanceToNextFrame(base::TimeDelta::FromMilliseconds(1)); 1324 host_impl_.AdvanceToNextFrame(base::TimeDelta::FromMilliseconds(1));
1328 bool update_lcd_text = false; 1325 bool update_lcd_text = false;
1329 host_impl_.pending_tree()->UpdateDrawProperties(update_lcd_text); 1326 host_impl_.pending_tree()->UpdateDrawProperties(update_lcd_text);
1330 1327
1331 FakePictureLayerImpl* pending_mask = 1328 FakePictureLayerImpl* pending_mask =
1332 static_cast<FakePictureLayerImpl*>(pending_layer_->mask_layer()); 1329 static_cast<FakePictureLayerImpl*>(pending_layer_->mask_layer());
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
1364 EXPECT_EQ(active_mask->bounds(), mask_texture_size); 1361 EXPECT_EQ(active_mask->bounds(), mask_texture_size);
1365 1362
1366 // Resize larger than the max texture size. 1363 // Resize larger than the max texture size.
1367 int max_texture_size = host_impl_.GetRendererCapabilities().max_texture_size; 1364 int max_texture_size = host_impl_.GetRendererCapabilities().max_texture_size;
1368 gfx::Size huge_bounds(max_texture_size + 1, 10); 1365 gfx::Size huge_bounds(max_texture_size + 1, 10);
1369 scoped_refptr<FakePicturePileImpl> huge_pile = 1366 scoped_refptr<FakePicturePileImpl> huge_pile =
1370 FakePicturePileImpl::CreateFilledPile(tile_size, huge_bounds); 1367 FakePicturePileImpl::CreateFilledPile(tile_size, huge_bounds);
1371 1368
1372 SetupPendingTree(huge_pile); 1369 SetupPendingTree(huge_pile);
1373 pending_mask->SetBounds(huge_bounds); 1370 pending_mask->SetBounds(huge_bounds);
1374 pending_mask->SetContentBounds(huge_bounds);
1375 pending_mask->SetRasterSourceOnPending(huge_pile, Region()); 1371 pending_mask->SetRasterSourceOnPending(huge_pile, Region());
1376 1372
1377 host_impl_.AdvanceToNextFrame(base::TimeDelta::FromMilliseconds(1)); 1373 host_impl_.AdvanceToNextFrame(base::TimeDelta::FromMilliseconds(1));
1378 host_impl_.pending_tree()->UpdateDrawProperties(update_lcd_text); 1374 host_impl_.pending_tree()->UpdateDrawProperties(update_lcd_text);
1379 1375
1380 // The mask tiling gets scaled down. 1376 // The mask tiling gets scaled down.
1381 EXPECT_LT(pending_mask->HighResTiling()->contents_scale(), 1.f); 1377 EXPECT_LT(pending_mask->HighResTiling()->contents_scale(), 1.f);
1382 EXPECT_EQ(1u, pending_mask->num_tilings()); 1378 EXPECT_EQ(1u, pending_mask->num_tilings());
1383 1379
1384 host_impl_.tile_manager()->InitializeTilesWithResourcesForTesting( 1380 host_impl_.tile_manager()->InitializeTilesWithResourcesForTesting(
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
1417 1413
1418 // Resize even larger, so that the scale would be smaller than the minimum 1414 // Resize even larger, so that the scale would be smaller than the minimum
1419 // contents scale. Then the layer should no longer have any tiling. 1415 // contents scale. Then the layer should no longer have any tiling.
1420 float min_contents_scale = host_impl_.settings().minimum_contents_scale; 1416 float min_contents_scale = host_impl_.settings().minimum_contents_scale;
1421 gfx::Size extra_huge_bounds(max_texture_size / min_contents_scale + 1, 10); 1417 gfx::Size extra_huge_bounds(max_texture_size / min_contents_scale + 1, 10);
1422 scoped_refptr<FakePicturePileImpl> extra_huge_pile = 1418 scoped_refptr<FakePicturePileImpl> extra_huge_pile =
1423 FakePicturePileImpl::CreateFilledPile(tile_size, extra_huge_bounds); 1419 FakePicturePileImpl::CreateFilledPile(tile_size, extra_huge_bounds);
1424 1420
1425 SetupPendingTree(extra_huge_pile); 1421 SetupPendingTree(extra_huge_pile);
1426 pending_mask->SetBounds(extra_huge_bounds); 1422 pending_mask->SetBounds(extra_huge_bounds);
1427 pending_mask->SetContentBounds(extra_huge_bounds);
1428 pending_mask->SetRasterSourceOnPending(extra_huge_pile, Region()); 1423 pending_mask->SetRasterSourceOnPending(extra_huge_pile, Region());
1429 1424
1430 EXPECT_FALSE(pending_mask->CanHaveTilings()); 1425 EXPECT_FALSE(pending_mask->CanHaveTilings());
1431 1426
1432 host_impl_.AdvanceToNextFrame(base::TimeDelta::FromMilliseconds(1)); 1427 host_impl_.AdvanceToNextFrame(base::TimeDelta::FromMilliseconds(1));
1433 host_impl_.pending_tree()->UpdateDrawProperties(update_lcd_text); 1428 host_impl_.pending_tree()->UpdateDrawProperties(update_lcd_text);
1434 1429
1435 EXPECT_EQ(0u, pending_mask->num_tilings()); 1430 EXPECT_EQ(0u, pending_mask->num_tilings());
1436 } 1431 }
1437 1432
1438 TEST_F(PictureLayerImplTest, ScaledMaskLayer) { 1433 TEST_F(PictureLayerImplTest, ScaledMaskLayer) {
1439 host_impl_.AdvanceToNextFrame(base::TimeDelta::FromMilliseconds(1)); 1434 host_impl_.AdvanceToNextFrame(base::TimeDelta::FromMilliseconds(1));
1440 1435
1441 gfx::Size tile_size(100, 100); 1436 gfx::Size tile_size(100, 100);
1442 gfx::Size layer_bounds(1000, 1000); 1437 gfx::Size layer_bounds(1000, 1000);
1443 1438
1444 host_impl_.SetDeviceScaleFactor(1.3f); 1439 host_impl_.SetDeviceScaleFactor(1.3f);
1445 1440
1446 scoped_refptr<FakePicturePileImpl> valid_pile = 1441 scoped_refptr<FakePicturePileImpl> valid_pile =
1447 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); 1442 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds);
1448 SetupPendingTree(valid_pile); 1443 SetupPendingTree(valid_pile);
1449 1444
1450 scoped_ptr<FakePictureLayerImpl> mask_ptr = 1445 scoped_ptr<FakePictureLayerImpl> mask_ptr =
1451 FakePictureLayerImpl::CreateMaskWithRasterSource( 1446 FakePictureLayerImpl::CreateMaskWithRasterSource(
1452 host_impl_.pending_tree(), 3, valid_pile); 1447 host_impl_.pending_tree(), 3, valid_pile);
1453 mask_ptr->SetBounds(layer_bounds); 1448 mask_ptr->SetBounds(layer_bounds);
1454 mask_ptr->SetContentBounds(layer_bounds);
1455 mask_ptr->SetDrawsContent(true); 1449 mask_ptr->SetDrawsContent(true);
1456 pending_layer_->SetMaskLayer(mask_ptr.Pass()); 1450 pending_layer_->SetMaskLayer(mask_ptr.Pass());
1457 pending_layer_->SetHasRenderSurface(true); 1451 pending_layer_->SetHasRenderSurface(true);
1458 1452
1459 host_impl_.AdvanceToNextFrame(base::TimeDelta::FromMilliseconds(1)); 1453 host_impl_.AdvanceToNextFrame(base::TimeDelta::FromMilliseconds(1));
1460 bool update_lcd_text = false; 1454 bool update_lcd_text = false;
1461 host_impl_.pending_tree()->UpdateDrawProperties(update_lcd_text); 1455 host_impl_.pending_tree()->UpdateDrawProperties(update_lcd_text);
1462 1456
1463 FakePictureLayerImpl* pending_mask = 1457 FakePictureLayerImpl* pending_mask =
1464 static_cast<FakePictureLayerImpl*>(pending_layer_->mask_layer()); 1458 static_cast<FakePictureLayerImpl*>(pending_layer_->mask_layer());
(...skipping 2504 matching lines...) Expand 10 before | Expand all | Expand 10 after
3969 if (tile_is_visible) 3963 if (tile_is_visible)
3970 unoccluded_tile_count++; 3964 unoccluded_tile_count++;
3971 queue->Pop(); 3965 queue->Pop();
3972 } 3966 }
3973 EXPECT_EQ(unoccluded_tile_count, 25); 3967 EXPECT_EQ(unoccluded_tile_count, 25);
3974 3968
3975 // Partial occlusion. 3969 // Partial occlusion.
3976 pending_layer_->AddChild(LayerImpl::Create(host_impl_.pending_tree(), 1)); 3970 pending_layer_->AddChild(LayerImpl::Create(host_impl_.pending_tree(), 1));
3977 LayerImpl* layer1 = pending_layer_->children()[0]; 3971 LayerImpl* layer1 = pending_layer_->children()[0];
3978 layer1->SetBounds(layer_bounds); 3972 layer1->SetBounds(layer_bounds);
3979 layer1->SetContentBounds(layer_bounds);
3980 layer1->SetDrawsContent(true); 3973 layer1->SetDrawsContent(true);
3981 layer1->SetContentsOpaque(true); 3974 layer1->SetContentsOpaque(true);
3982 layer1->SetPosition(occluding_layer_position); 3975 layer1->SetPosition(occluding_layer_position);
3983 3976
3984 host_impl_.AdvanceToNextFrame(base::TimeDelta::FromMilliseconds(200)); 3977 host_impl_.AdvanceToNextFrame(base::TimeDelta::FromMilliseconds(200));
3985 bool update_lcd_text = false; 3978 bool update_lcd_text = false;
3986 host_impl_.pending_tree()->UpdateDrawProperties(update_lcd_text); 3979 host_impl_.pending_tree()->UpdateDrawProperties(update_lcd_text);
3987 3980
3988 unoccluded_tile_count = 0; 3981 unoccluded_tile_count = 0;
3989 queue.reset(new TilingSetRasterQueueAll( 3982 queue.reset(new TilingSetRasterQueueAll(
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
4065 occluded_tile_count++; 4058 occluded_tile_count++;
4066 } 4059 }
4067 } 4060 }
4068 EXPECT_EQ(occluded_tile_count, 0); 4061 EXPECT_EQ(occluded_tile_count, 0);
4069 } 4062 }
4070 4063
4071 // Partial occlusion. 4064 // Partial occlusion.
4072 pending_layer_->AddChild(LayerImpl::Create(host_impl_.pending_tree(), 1)); 4065 pending_layer_->AddChild(LayerImpl::Create(host_impl_.pending_tree(), 1));
4073 LayerImpl* layer1 = pending_layer_->children()[0]; 4066 LayerImpl* layer1 = pending_layer_->children()[0];
4074 layer1->SetBounds(layer_bounds); 4067 layer1->SetBounds(layer_bounds);
4075 layer1->SetContentBounds(layer_bounds);
4076 layer1->SetDrawsContent(true); 4068 layer1->SetDrawsContent(true);
4077 layer1->SetContentsOpaque(true); 4069 layer1->SetContentsOpaque(true);
4078 layer1->SetPosition(occluding_layer_position); 4070 layer1->SetPosition(occluding_layer_position);
4079 4071
4080 host_impl_.AdvanceToNextFrame(base::TimeDelta::FromMilliseconds(200)); 4072 host_impl_.AdvanceToNextFrame(base::TimeDelta::FromMilliseconds(200));
4081 bool update_lcd_text = false; 4073 bool update_lcd_text = false;
4082 host_impl_.pending_tree()->UpdateDrawProperties(update_lcd_text); 4074 host_impl_.pending_tree()->UpdateDrawProperties(update_lcd_text);
4083 4075
4084 for (size_t i = 0; i < pending_layer_->num_tilings(); ++i) { 4076 for (size_t i = 0; i < pending_layer_->num_tilings(); ++i) {
4085 PictureLayerTiling* tiling = pending_layer_->tilings()->tiling_at(i); 4077 PictureLayerTiling* tiling = pending_layer_->tilings()->tiling_at(i);
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
4166 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); 4158 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds);
4167 4159
4168 host_impl_.SetViewportSize(viewport_size); 4160 host_impl_.SetViewportSize(viewport_size);
4169 4161
4170 SetupPendingTreeWithFixedTileSize(pending_pile, tile_size, Region()); 4162 SetupPendingTreeWithFixedTileSize(pending_pile, tile_size, Region());
4171 ASSERT_TRUE(pending_layer_->CanHaveTilings()); 4163 ASSERT_TRUE(pending_layer_->CanHaveTilings());
4172 4164
4173 pending_layer_->AddChild(LayerImpl::Create(host_impl_.pending_tree(), 1)); 4165 pending_layer_->AddChild(LayerImpl::Create(host_impl_.pending_tree(), 1));
4174 LayerImpl* layer1 = pending_layer_->children()[0]; 4166 LayerImpl* layer1 = pending_layer_->children()[0];
4175 layer1->SetBounds(layer_bounds); 4167 layer1->SetBounds(layer_bounds);
4176 layer1->SetContentBounds(layer_bounds);
4177 layer1->SetDrawsContent(true); 4168 layer1->SetDrawsContent(true);
4178 layer1->SetContentsOpaque(true); 4169 layer1->SetContentsOpaque(true);
4179 layer1->SetPosition(occluding_layer_position); 4170 layer1->SetPosition(occluding_layer_position);
4180 4171
4181 pending_layer_->tilings()->RemoveAllTilings(); 4172 pending_layer_->tilings()->RemoveAllTilings();
4182 float low_res_factor = host_impl_.settings().low_res_contents_scale_factor; 4173 float low_res_factor = host_impl_.settings().low_res_contents_scale_factor;
4183 pending_layer_->AddTiling(low_res_factor); 4174 pending_layer_->AddTiling(low_res_factor);
4184 pending_layer_->AddTiling(0.3f); 4175 pending_layer_->AddTiling(0.3f);
4185 pending_layer_->AddTiling(0.7f); 4176 pending_layer_->AddTiling(0.7f);
4186 pending_layer_->AddTiling(1.0f); 4177 pending_layer_->AddTiling(1.0f);
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
4242 scoped_refptr<FakePicturePileImpl> active_pile = 4233 scoped_refptr<FakePicturePileImpl> active_pile =
4243 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); 4234 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds);
4244 4235
4245 host_impl_.SetViewportSize(viewport_size); 4236 host_impl_.SetViewportSize(viewport_size);
4246 SetupPendingTree(active_pile); 4237 SetupPendingTree(active_pile);
4247 4238
4248 // Partially occlude the active layer. 4239 // Partially occlude the active layer.
4249 pending_layer_->AddChild(LayerImpl::Create(host_impl_.pending_tree(), 2)); 4240 pending_layer_->AddChild(LayerImpl::Create(host_impl_.pending_tree(), 2));
4250 LayerImpl* layer1 = pending_layer_->children()[0]; 4241 LayerImpl* layer1 = pending_layer_->children()[0];
4251 layer1->SetBounds(layer_bounds); 4242 layer1->SetBounds(layer_bounds);
4252 layer1->SetContentBounds(layer_bounds);
4253 layer1->SetDrawsContent(true); 4243 layer1->SetDrawsContent(true);
4254 layer1->SetContentsOpaque(true); 4244 layer1->SetContentsOpaque(true);
4255 layer1->SetPosition(occluding_layer_position); 4245 layer1->SetPosition(occluding_layer_position);
4256 4246
4257 ActivateTree(); 4247 ActivateTree();
4258 4248
4259 for (size_t i = 0; i < active_layer_->num_tilings(); ++i) { 4249 for (size_t i = 0; i < active_layer_->num_tilings(); ++i) {
4260 PictureLayerTiling* tiling = active_layer_->tilings()->tiling_at(i); 4250 PictureLayerTiling* tiling = active_layer_->tilings()->tiling_at(i);
4261 auto prioritized_tiles = 4251 auto prioritized_tiles =
4262 tiling->UpdateAndGetAllPrioritizedTilesForTesting(); 4252 tiling->UpdateAndGetAllPrioritizedTilesForTesting();
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
4336 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); 4326 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds);
4337 scoped_refptr<FakePicturePileImpl> active_pile = 4327 scoped_refptr<FakePicturePileImpl> active_pile =
4338 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); 4328 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds);
4339 4329
4340 SetupPendingTreeWithFixedTileSize(active_pile, tile_size, Region()); 4330 SetupPendingTreeWithFixedTileSize(active_pile, tile_size, Region());
4341 4331
4342 // Partially occlude the active layer. 4332 // Partially occlude the active layer.
4343 pending_layer_->AddChild(LayerImpl::Create(host_impl_.pending_tree(), 2)); 4333 pending_layer_->AddChild(LayerImpl::Create(host_impl_.pending_tree(), 2));
4344 LayerImpl* active_occluding_layer = pending_layer_->children()[0]; 4334 LayerImpl* active_occluding_layer = pending_layer_->children()[0];
4345 active_occluding_layer->SetBounds(layer_bounds); 4335 active_occluding_layer->SetBounds(layer_bounds);
4346 active_occluding_layer->SetContentBounds(layer_bounds);
4347 active_occluding_layer->SetDrawsContent(true); 4336 active_occluding_layer->SetDrawsContent(true);
4348 active_occluding_layer->SetContentsOpaque(true); 4337 active_occluding_layer->SetContentsOpaque(true);
4349 active_occluding_layer->SetPosition(active_occluding_layer_position); 4338 active_occluding_layer->SetPosition(active_occluding_layer_position);
4350 4339
4351 ActivateTree(); 4340 ActivateTree();
4352 4341
4353 // Partially invalidate the pending layer. Tiles inside the invalidation rect 4342 // Partially invalidate the pending layer. Tiles inside the invalidation rect
4354 // are created. 4343 // are created.
4355 SetupPendingTreeWithFixedTileSize(pending_pile, tile_size, invalidation_rect); 4344 SetupPendingTreeWithFixedTileSize(pending_pile, tile_size, invalidation_rect);
4356 4345
4357 // Partially occlude the pending layer in a different way. 4346 // Partially occlude the pending layer in a different way.
4358 pending_layer_->AddChild(LayerImpl::Create(host_impl_.pending_tree(), 3)); 4347 pending_layer_->AddChild(LayerImpl::Create(host_impl_.pending_tree(), 3));
4359 LayerImpl* pending_occluding_layer = pending_layer_->children()[0]; 4348 LayerImpl* pending_occluding_layer = pending_layer_->children()[0];
4360 pending_occluding_layer->SetBounds(layer_bounds); 4349 pending_occluding_layer->SetBounds(layer_bounds);
4361 pending_occluding_layer->SetContentBounds(layer_bounds);
4362 pending_occluding_layer->SetDrawsContent(true); 4350 pending_occluding_layer->SetDrawsContent(true);
4363 pending_occluding_layer->SetContentsOpaque(true); 4351 pending_occluding_layer->SetContentsOpaque(true);
4364 pending_occluding_layer->SetPosition(pending_occluding_layer_position); 4352 pending_occluding_layer->SetPosition(pending_occluding_layer_position);
4365 4353
4366 EXPECT_EQ(2u, pending_layer_->num_tilings()); 4354 EXPECT_EQ(2u, pending_layer_->num_tilings());
4367 EXPECT_EQ(2u, active_layer_->num_tilings()); 4355 EXPECT_EQ(2u, active_layer_->num_tilings());
4368 4356
4369 host_impl_.AdvanceToNextFrame(base::TimeDelta::FromMilliseconds(1)); 4357 host_impl_.AdvanceToNextFrame(base::TimeDelta::FromMilliseconds(1));
4370 // UpdateDrawProperties with the occluding layer. 4358 // UpdateDrawProperties with the occluding layer.
4371 bool update_lcd_text = false; 4359 bool update_lcd_text = false;
(...skipping 611 matching lines...) Expand 10 before | Expand all | Expand 10 after
4983 result = layer->CalculateTileSize(gfx::Size(447, 400)); 4971 result = layer->CalculateTileSize(gfx::Size(447, 400));
4984 EXPECT_EQ(result.width(), 448); 4972 EXPECT_EQ(result.width(), 448);
4985 EXPECT_EQ(result.height(), 448); 4973 EXPECT_EQ(result.height(), 448);
4986 result = layer->CalculateTileSize(gfx::Size(500, 499)); 4974 result = layer->CalculateTileSize(gfx::Size(500, 499));
4987 EXPECT_EQ(result.width(), 512); 4975 EXPECT_EQ(result.width(), 512);
4988 EXPECT_EQ(result.height(), 500 + 2); 4976 EXPECT_EQ(result.height(), 500 + 2);
4989 } 4977 }
4990 4978
4991 } // namespace 4979 } // namespace
4992 } // namespace cc 4980 } // namespace cc
OLDNEW
« no previous file with comments | « cc/layers/picture_image_layer_impl_unittest.cc ('k') | cc/layers/render_surface_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698