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

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

Issue 633773004: cc: Pass Occlusion instead of OcclusionTracker to LayerImpls (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: update Created 6 years, 2 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/picture_layer_impl.cc ('k') | cc/layers/scrollbar_layer_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 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 1359 matching lines...) Expand 10 before | Expand all | Expand 10 after
1370 high_res_tiling = pending_layer_->tilings()->tiling_at(0); 1370 high_res_tiling = pending_layer_->tilings()->tiling_at(0);
1371 EXPECT_LT(1u, high_res_tiling->AllTilesForTesting().size()); 1371 EXPECT_LT(1u, high_res_tiling->AllTilesForTesting().size());
1372 1372
1373 // Verify the tiles are not larger than the context's max texture size. 1373 // Verify the tiles are not larger than the context's max texture size.
1374 Tile* tile = pending_layer_->tilings()->tiling_at(0)->AllTilesForTesting()[0]; 1374 Tile* tile = pending_layer_->tilings()->tiling_at(0)->AllTilesForTesting()[0];
1375 EXPECT_GE(140, tile->content_rect().width()); 1375 EXPECT_GE(140, tile->content_rect().width());
1376 EXPECT_GE(140, tile->content_rect().height()); 1376 EXPECT_GE(140, tile->content_rect().height());
1377 } 1377 }
1378 1378
1379 TEST_F(PictureLayerImplTest, DisallowTileDrawQuads) { 1379 TEST_F(PictureLayerImplTest, DisallowTileDrawQuads) {
1380 MockOcclusionTracker<LayerImpl> occlusion_tracker;
1381 scoped_ptr<RenderPass> render_pass = RenderPass::Create(); 1380 scoped_ptr<RenderPass> render_pass = RenderPass::Create();
1382 1381
1383 gfx::Size tile_size(400, 400); 1382 gfx::Size tile_size(400, 400);
1384 gfx::Size layer_bounds(1300, 1900); 1383 gfx::Size layer_bounds(1300, 1900);
1385 1384
1386 scoped_refptr<FakePicturePileImpl> pending_pile = 1385 scoped_refptr<FakePicturePileImpl> pending_pile =
1387 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); 1386 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds);
1388 scoped_refptr<FakePicturePileImpl> active_pile = 1387 scoped_refptr<FakePicturePileImpl> active_pile =
1389 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); 1388 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds);
1390 1389
1391 SetupTrees(pending_pile, active_pile); 1390 SetupTrees(pending_pile, active_pile);
1392 1391
1393 active_layer_->draw_properties().visible_content_rect = 1392 active_layer_->draw_properties().visible_content_rect =
1394 gfx::Rect(layer_bounds); 1393 gfx::Rect(layer_bounds);
1395 1394
1396 gfx::Rect layer_invalidation(150, 200, 30, 180); 1395 gfx::Rect layer_invalidation(150, 200, 30, 180);
1397 Region invalidation(layer_invalidation); 1396 Region invalidation(layer_invalidation);
1398 AddDefaultTilingsWithInvalidation(invalidation); 1397 AddDefaultTilingsWithInvalidation(invalidation);
1399 1398
1400 AppendQuadsData data; 1399 AppendQuadsData data;
1401 active_layer_->WillDraw(DRAW_MODE_RESOURCELESS_SOFTWARE, NULL); 1400 active_layer_->WillDraw(DRAW_MODE_RESOURCELESS_SOFTWARE, NULL);
1402 active_layer_->AppendQuads(render_pass.get(), occlusion_tracker, &data); 1401 active_layer_->AppendQuads(render_pass.get(), Occlusion(), &data);
1403 active_layer_->DidDraw(NULL); 1402 active_layer_->DidDraw(NULL);
1404 1403
1405 ASSERT_EQ(1U, render_pass->quad_list.size()); 1404 ASSERT_EQ(1U, render_pass->quad_list.size());
1406 EXPECT_EQ(DrawQuad::PICTURE_CONTENT, 1405 EXPECT_EQ(DrawQuad::PICTURE_CONTENT,
1407 render_pass->quad_list.front()->material); 1406 render_pass->quad_list.front()->material);
1408 } 1407 }
1409 1408
1410 TEST_F(PictureLayerImplTest, MarkRequiredNullTiles) { 1409 TEST_F(PictureLayerImplTest, MarkRequiredNullTiles) {
1411 gfx::Size tile_size(100, 100); 1410 gfx::Size tile_size(100, 100);
1412 gfx::Size layer_bounds(1000, 1000); 1411 gfx::Size layer_bounds(1000, 1000);
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
1573 } 1572 }
1574 1573
1575 EXPECT_GT(num_inside, 0); 1574 EXPECT_GT(num_inside, 0);
1576 EXPECT_GT(num_outside, 0); 1575 EXPECT_GT(num_outside, 0);
1577 1576
1578 // Activate and draw active layer. 1577 // Activate and draw active layer.
1579 host_impl_.ActivateSyncTree(); 1578 host_impl_.ActivateSyncTree();
1580 host_impl_.active_tree()->UpdateDrawProperties(); 1579 host_impl_.active_tree()->UpdateDrawProperties();
1581 active_layer_->draw_properties().visible_content_rect = visible_content_rect; 1580 active_layer_->draw_properties().visible_content_rect = visible_content_rect;
1582 1581
1583 MockOcclusionTracker<LayerImpl> occlusion_tracker;
1584 scoped_ptr<RenderPass> render_pass = RenderPass::Create(); 1582 scoped_ptr<RenderPass> render_pass = RenderPass::Create();
1585 AppendQuadsData data; 1583 AppendQuadsData data;
1586 active_layer_->WillDraw(DRAW_MODE_SOFTWARE, NULL); 1584 active_layer_->WillDraw(DRAW_MODE_SOFTWARE, NULL);
1587 active_layer_->AppendQuads(render_pass.get(), occlusion_tracker, &data); 1585 active_layer_->AppendQuads(render_pass.get(), Occlusion(), &data);
1588 active_layer_->DidDraw(NULL); 1586 active_layer_->DidDraw(NULL);
1589 1587
1590 // All tiles in activation rect is ready to draw. 1588 // All tiles in activation rect is ready to draw.
1591 EXPECT_EQ(0u, data.num_missing_tiles); 1589 EXPECT_EQ(0u, data.num_missing_tiles);
1592 EXPECT_EQ(0u, data.num_incomplete_tiles); 1590 EXPECT_EQ(0u, data.num_incomplete_tiles);
1593 } 1591 }
1594 1592
1595 TEST_F(PictureLayerImplTest, HighResTileIsComplete) { 1593 TEST_F(PictureLayerImplTest, HighResTileIsComplete) {
1596 base::TimeTicks time_ticks; 1594 base::TimeTicks time_ticks;
1597 time_ticks += base::TimeDelta::FromMilliseconds(1); 1595 time_ticks += base::TimeDelta::FromMilliseconds(1);
(...skipping 10 matching lines...) Expand all
1608 SetupPendingTree(pending_pile); 1606 SetupPendingTree(pending_pile);
1609 ActivateTree(); 1607 ActivateTree();
1610 1608
1611 // All high res tiles have resources. 1609 // All high res tiles have resources.
1612 active_layer_->set_fixed_tile_size(tile_size); 1610 active_layer_->set_fixed_tile_size(tile_size);
1613 host_impl_.active_tree()->UpdateDrawProperties(); 1611 host_impl_.active_tree()->UpdateDrawProperties();
1614 std::vector<Tile*> tiles = 1612 std::vector<Tile*> tiles =
1615 active_layer_->tilings()->tiling_at(0)->AllTilesForTesting(); 1613 active_layer_->tilings()->tiling_at(0)->AllTilesForTesting();
1616 host_impl_.tile_manager()->InitializeTilesWithResourcesForTesting(tiles); 1614 host_impl_.tile_manager()->InitializeTilesWithResourcesForTesting(tiles);
1617 1615
1618 MockOcclusionTracker<LayerImpl> occlusion_tracker;
1619 scoped_ptr<RenderPass> render_pass = RenderPass::Create(); 1616 scoped_ptr<RenderPass> render_pass = RenderPass::Create();
1620 AppendQuadsData data; 1617 AppendQuadsData data;
1621 active_layer_->WillDraw(DRAW_MODE_SOFTWARE, NULL); 1618 active_layer_->WillDraw(DRAW_MODE_SOFTWARE, NULL);
1622 active_layer_->AppendQuads(render_pass.get(), occlusion_tracker, &data); 1619 active_layer_->AppendQuads(render_pass.get(), Occlusion(), &data);
1623 active_layer_->DidDraw(NULL); 1620 active_layer_->DidDraw(NULL);
1624 1621
1625 // All high res tiles drew, nothing was incomplete. 1622 // All high res tiles drew, nothing was incomplete.
1626 EXPECT_EQ(9u, render_pass->quad_list.size()); 1623 EXPECT_EQ(9u, render_pass->quad_list.size());
1627 EXPECT_EQ(0u, data.num_missing_tiles); 1624 EXPECT_EQ(0u, data.num_missing_tiles);
1628 EXPECT_EQ(0u, data.num_incomplete_tiles); 1625 EXPECT_EQ(0u, data.num_incomplete_tiles);
1629 } 1626 }
1630 1627
1631 TEST_F(PictureLayerImplTest, LowResTileIsIncomplete) { 1628 TEST_F(PictureLayerImplTest, LowResTileIsIncomplete) {
1632 base::TimeTicks time_ticks; 1629 base::TimeTicks time_ticks;
(...skipping 17 matching lines...) Expand all
1650 std::vector<Tile*> high_tiles = 1647 std::vector<Tile*> high_tiles =
1651 active_layer_->tilings()->tiling_at(0)->AllTilesForTesting(); 1648 active_layer_->tilings()->tiling_at(0)->AllTilesForTesting();
1652 high_tiles.erase(high_tiles.begin()); 1649 high_tiles.erase(high_tiles.begin());
1653 host_impl_.tile_manager()->InitializeTilesWithResourcesForTesting(high_tiles); 1650 host_impl_.tile_manager()->InitializeTilesWithResourcesForTesting(high_tiles);
1654 1651
1655 // All low res tiles have resources. 1652 // All low res tiles have resources.
1656 std::vector<Tile*> low_tiles = 1653 std::vector<Tile*> low_tiles =
1657 active_layer_->tilings()->tiling_at(1)->AllTilesForTesting(); 1654 active_layer_->tilings()->tiling_at(1)->AllTilesForTesting();
1658 host_impl_.tile_manager()->InitializeTilesWithResourcesForTesting(low_tiles); 1655 host_impl_.tile_manager()->InitializeTilesWithResourcesForTesting(low_tiles);
1659 1656
1660 MockOcclusionTracker<LayerImpl> occlusion_tracker;
1661 scoped_ptr<RenderPass> render_pass = RenderPass::Create(); 1657 scoped_ptr<RenderPass> render_pass = RenderPass::Create();
1662 AppendQuadsData data; 1658 AppendQuadsData data;
1663 active_layer_->WillDraw(DRAW_MODE_SOFTWARE, NULL); 1659 active_layer_->WillDraw(DRAW_MODE_SOFTWARE, NULL);
1664 active_layer_->AppendQuads(render_pass.get(), occlusion_tracker, &data); 1660 active_layer_->AppendQuads(render_pass.get(), Occlusion(), &data);
1665 active_layer_->DidDraw(NULL); 1661 active_layer_->DidDraw(NULL);
1666 1662
1667 // The missing high res tile was replaced by a low res tile. 1663 // The missing high res tile was replaced by a low res tile.
1668 EXPECT_EQ(9u, render_pass->quad_list.size()); 1664 EXPECT_EQ(9u, render_pass->quad_list.size());
1669 EXPECT_EQ(0u, data.num_missing_tiles); 1665 EXPECT_EQ(0u, data.num_missing_tiles);
1670 EXPECT_EQ(1u, data.num_incomplete_tiles); 1666 EXPECT_EQ(1u, data.num_incomplete_tiles);
1671 } 1667 }
1672 1668
1673 TEST_F(PictureLayerImplTest, 1669 TEST_F(PictureLayerImplTest,
1674 HighResAndIdealResTileIsCompleteWhenRasterScaleIsNotIdeal) { 1670 HighResAndIdealResTileIsCompleteWhenRasterScaleIsNotIdeal) {
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
1712 1708
1713 // Both tilings still exist. 1709 // Both tilings still exist.
1714 EXPECT_EQ(2.f, active_layer_->tilings()->tiling_at(0)->contents_scale()); 1710 EXPECT_EQ(2.f, active_layer_->tilings()->tiling_at(0)->contents_scale());
1715 EXPECT_EQ(1.f, active_layer_->tilings()->tiling_at(1)->contents_scale()); 1711 EXPECT_EQ(1.f, active_layer_->tilings()->tiling_at(1)->contents_scale());
1716 1712
1717 // All high res tiles have resources. 1713 // All high res tiles have resources.
1718 std::vector<Tile*> high_tiles = 1714 std::vector<Tile*> high_tiles =
1719 active_layer_->HighResTiling()->AllTilesForTesting(); 1715 active_layer_->HighResTiling()->AllTilesForTesting();
1720 host_impl_.tile_manager()->InitializeTilesWithResourcesForTesting(high_tiles); 1716 host_impl_.tile_manager()->InitializeTilesWithResourcesForTesting(high_tiles);
1721 1717
1722 MockOcclusionTracker<LayerImpl> occlusion_tracker;
1723 scoped_ptr<RenderPass> render_pass = RenderPass::Create(); 1718 scoped_ptr<RenderPass> render_pass = RenderPass::Create();
1724 AppendQuadsData data; 1719 AppendQuadsData data;
1725 active_layer_->WillDraw(DRAW_MODE_SOFTWARE, NULL); 1720 active_layer_->WillDraw(DRAW_MODE_SOFTWARE, NULL);
1726 active_layer_->AppendQuads(render_pass.get(), occlusion_tracker, &data); 1721 active_layer_->AppendQuads(render_pass.get(), Occlusion(), &data);
1727 active_layer_->DidDraw(NULL); 1722 active_layer_->DidDraw(NULL);
1728 1723
1729 // All high res tiles drew, and the one ideal res tile drew. 1724 // All high res tiles drew, and the one ideal res tile drew.
1730 ASSERT_GT(render_pass->quad_list.size(), 9u); 1725 ASSERT_GT(render_pass->quad_list.size(), 9u);
1731 EXPECT_EQ(gfx::SizeF(99.f, 99.f), 1726 EXPECT_EQ(gfx::SizeF(99.f, 99.f),
1732 TileDrawQuad::MaterialCast(render_pass->quad_list.front()) 1727 TileDrawQuad::MaterialCast(render_pass->quad_list.front())
1733 ->tex_coord_rect.size()); 1728 ->tex_coord_rect.size());
1734 EXPECT_EQ(gfx::SizeF(49.5f, 49.5f), 1729 EXPECT_EQ(gfx::SizeF(49.5f, 49.5f),
1735 TileDrawQuad::MaterialCast(render_pass->quad_list.ElementAt(1)) 1730 TileDrawQuad::MaterialCast(render_pass->quad_list.ElementAt(1))
1736 ->tex_coord_rect.size()); 1731 ->tex_coord_rect.size());
(...skipping 1724 matching lines...) Expand 10 before | Expand all | Expand 10 after
3461 SetupDrawPropertiesAndUpdateTiles(pending_layer_, 3456 SetupDrawPropertiesAndUpdateTiles(pending_layer_,
3462 1.3f, // ideal contents scale 3457 1.3f, // ideal contents scale
3463 2.7f, // device scale 3458 2.7f, // device scale
3464 3.2f, // page scale 3459 3.2f, // page scale
3465 1.f, // maximum animation scale 3460 1.f, // maximum animation scale
3466 false); 3461 false);
3467 EXPECT_EQ(1u, pending_layer_->tilings()->num_tilings()); 3462 EXPECT_EQ(1u, pending_layer_->tilings()->num_tilings());
3468 } 3463 }
3469 3464
3470 TEST_F(PictureLayerImplTest, SharedQuadStateContainsMaxTilingScale) { 3465 TEST_F(PictureLayerImplTest, SharedQuadStateContainsMaxTilingScale) {
3471 MockOcclusionTracker<LayerImpl> occlusion_tracker;
3472 scoped_ptr<RenderPass> render_pass = RenderPass::Create(); 3466 scoped_ptr<RenderPass> render_pass = RenderPass::Create();
3473 3467
3474 gfx::Size tile_size(400, 400); 3468 gfx::Size tile_size(400, 400);
3475 gfx::Size layer_bounds(1000, 2000); 3469 gfx::Size layer_bounds(1000, 2000);
3476 3470
3477 scoped_refptr<FakePicturePileImpl> pending_pile = 3471 scoped_refptr<FakePicturePileImpl> pending_pile =
3478 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); 3472 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds);
3479 scoped_refptr<FakePicturePileImpl> active_pile = 3473 scoped_refptr<FakePicturePileImpl> active_pile =
3480 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); 3474 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds);
3481 3475
3482 SetupTrees(pending_pile, active_pile); 3476 SetupTrees(pending_pile, active_pile);
3483 3477
3484 SetupDrawPropertiesAndUpdateTiles(pending_layer_, 2.5f, 1.f, 1.f, 1.f, false); 3478 SetupDrawPropertiesAndUpdateTiles(pending_layer_, 2.5f, 1.f, 1.f, 1.f, false);
3485 host_impl_.pending_tree()->UpdateDrawProperties(); 3479 host_impl_.pending_tree()->UpdateDrawProperties();
3486 3480
3487 active_layer_->draw_properties().visible_content_rect = 3481 active_layer_->draw_properties().visible_content_rect =
3488 gfx::Rect(layer_bounds); 3482 gfx::Rect(layer_bounds);
3489 host_impl_.active_tree()->UpdateDrawProperties(); 3483 host_impl_.active_tree()->UpdateDrawProperties();
3490 3484
3491 float max_contents_scale = active_layer_->MaximumTilingContentsScale(); 3485 float max_contents_scale = active_layer_->MaximumTilingContentsScale();
3492 gfx::Transform scaled_draw_transform = active_layer_->draw_transform(); 3486 gfx::Transform scaled_draw_transform = active_layer_->draw_transform();
3493 scaled_draw_transform.Scale(SK_MScalar1 / max_contents_scale, 3487 scaled_draw_transform.Scale(SK_MScalar1 / max_contents_scale,
3494 SK_MScalar1 / max_contents_scale); 3488 SK_MScalar1 / max_contents_scale);
3495 3489
3496 AppendQuadsData data; 3490 AppendQuadsData data;
3497 active_layer_->AppendQuads(render_pass.get(), occlusion_tracker, &data); 3491 active_layer_->AppendQuads(render_pass.get(), Occlusion(), &data);
3498 3492
3499 // SharedQuadState should have be of size 1, as we are doing AppenQuad once. 3493 // SharedQuadState should have be of size 1, as we are doing AppenQuad once.
3500 EXPECT_EQ(1u, render_pass->shared_quad_state_list.size()); 3494 EXPECT_EQ(1u, render_pass->shared_quad_state_list.size());
3501 // The content_to_target_transform should be scaled by the 3495 // The content_to_target_transform should be scaled by the
3502 // MaximumTilingContentsScale on the layer. 3496 // MaximumTilingContentsScale on the layer.
3503 EXPECT_EQ(scaled_draw_transform.ToString(), 3497 EXPECT_EQ(scaled_draw_transform.ToString(),
3504 render_pass->shared_quad_state_list.front() 3498 render_pass->shared_quad_state_list.front()
3505 ->content_to_target_transform.ToString()); 3499 ->content_to_target_transform.ToString());
3506 // The content_bounds should be scaled by the 3500 // The content_bounds should be scaled by the
3507 // MaximumTilingContentsScale on the layer. 3501 // MaximumTilingContentsScale on the layer.
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
3596 size_t max_tiles = 1; 3590 size_t max_tiles = 1;
3597 size_t memory_limit = max_tiles * 4 * tile_size.width() * tile_size.height(); 3591 size_t memory_limit = max_tiles * 4 * tile_size.width() * tile_size.height();
3598 size_t resource_limit = max_tiles; 3592 size_t resource_limit = max_tiles;
3599 ManagedMemoryPolicy policy(memory_limit, 3593 ManagedMemoryPolicy policy(memory_limit,
3600 gpu::MemoryAllocation::CUTOFF_ALLOW_EVERYTHING, 3594 gpu::MemoryAllocation::CUTOFF_ALLOW_EVERYTHING,
3601 resource_limit); 3595 resource_limit);
3602 host_impl_.SetMemoryPolicy(policy); 3596 host_impl_.SetMemoryPolicy(policy);
3603 host_impl_.SetTreePriority(SAME_PRIORITY_FOR_BOTH_TREES); 3597 host_impl_.SetTreePriority(SAME_PRIORITY_FOR_BOTH_TREES);
3604 host_impl_.ManageTiles(); 3598 host_impl_.ManageTiles();
3605 3599
3606 MockOcclusionTracker<LayerImpl> occlusion_tracker;
3607 scoped_ptr<RenderPass> render_pass = RenderPass::Create(); 3600 scoped_ptr<RenderPass> render_pass = RenderPass::Create();
3608 AppendQuadsData data; 3601 AppendQuadsData data;
3609 active_layer_->WillDraw(DRAW_MODE_HARDWARE, NULL); 3602 active_layer_->WillDraw(DRAW_MODE_HARDWARE, NULL);
3610 active_layer_->AppendQuads(render_pass.get(), occlusion_tracker, &data); 3603 active_layer_->AppendQuads(render_pass.get(), Occlusion(), &data);
3611 active_layer_->DidDraw(NULL); 3604 active_layer_->DidDraw(NULL);
3612 3605
3613 // Even when OOM, quads should be produced, and should be different material 3606 // Even when OOM, quads should be produced, and should be different material
3614 // from quads with resource. 3607 // from quads with resource.
3615 EXPECT_LT(max_tiles, render_pass->quad_list.size()); 3608 EXPECT_LT(max_tiles, render_pass->quad_list.size());
3616 EXPECT_EQ(DrawQuad::Material::TILED_CONTENT, 3609 EXPECT_EQ(DrawQuad::Material::TILED_CONTENT,
3617 render_pass->quad_list.front()->material); 3610 render_pass->quad_list.front()->material);
3618 EXPECT_EQ(DrawQuad::Material::SOLID_COLOR, 3611 EXPECT_EQ(DrawQuad::Material::SOLID_COLOR,
3619 render_pass->quad_list.back()->material); 3612 render_pass->quad_list.back()->material);
3620 } 3613 }
(...skipping 686 matching lines...) Expand 10 before | Expand all | Expand 10 after
4307 ASSERT_TRUE(active_layer_->tilings()); 4300 ASSERT_TRUE(active_layer_->tilings());
4308 active_layer_->set_fixed_tile_size(tile_size); 4301 active_layer_->set_fixed_tile_size(tile_size);
4309 host_impl_.active_tree()->UpdateDrawProperties(); 4302 host_impl_.active_tree()->UpdateDrawProperties();
4310 ASSERT_GT(active_layer_->tilings()->num_tilings(), 0u); 4303 ASSERT_GT(active_layer_->tilings()->num_tilings(), 0u);
4311 std::vector<Tile*> tiles = 4304 std::vector<Tile*> tiles =
4312 active_layer_->tilings()->tiling_at(0)->AllTilesForTesting(); 4305 active_layer_->tilings()->tiling_at(0)->AllTilesForTesting();
4313 EXPECT_FALSE(tiles.empty()); 4306 EXPECT_FALSE(tiles.empty());
4314 host_impl_.tile_manager()->InitializeTilesWithResourcesForTesting(tiles); 4307 host_impl_.tile_manager()->InitializeTilesWithResourcesForTesting(tiles);
4315 } 4308 }
4316 4309
4317 MockOcclusionTracker<LayerImpl> occlusion_tracker;
4318 scoped_ptr<RenderPass> render_pass = RenderPass::Create(); 4310 scoped_ptr<RenderPass> render_pass = RenderPass::Create();
4319 AppendQuadsData data; 4311 AppendQuadsData data;
4320 active_layer_->WillDraw(DRAW_MODE_SOFTWARE, NULL); 4312 active_layer_->WillDraw(DRAW_MODE_SOFTWARE, NULL);
4321 active_layer_->AppendQuads(render_pass.get(), occlusion_tracker, &data); 4313 active_layer_->AppendQuads(render_pass.get(), Occlusion(), &data);
4322 active_layer_->DidDraw(NULL); 4314 active_layer_->DidDraw(NULL);
4323 4315
4324 DrawQuad::Material expected = test_for_solid 4316 DrawQuad::Material expected = test_for_solid
4325 ? DrawQuad::Material::SOLID_COLOR 4317 ? DrawQuad::Material::SOLID_COLOR
4326 : DrawQuad::Material::TILED_CONTENT; 4318 : DrawQuad::Material::TILED_CONTENT;
4327 EXPECT_EQ(expected, render_pass->quad_list.front()->material); 4319 EXPECT_EQ(expected, render_pass->quad_list.front()->material);
4328 } 4320 }
4329 4321
4330 TEST_F(PictureLayerImplTest, DrawSolidQuads) { 4322 TEST_F(PictureLayerImplTest, DrawSolidQuads) {
4331 TestQuadsForSolidColor(true); 4323 TestQuadsForSolidColor(true);
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
4402 SetupPendingTree(pending_pile2); 4394 SetupPendingTree(pending_pile2);
4403 ActivateTree(); 4395 ActivateTree();
4404 4396
4405 // We've switched to a solid color, so we should end up with no tilings. 4397 // We've switched to a solid color, so we should end up with no tilings.
4406 ASSERT_TRUE(active_layer_->tilings()); 4398 ASSERT_TRUE(active_layer_->tilings());
4407 EXPECT_EQ(0u, active_layer_->tilings()->num_tilings()); 4399 EXPECT_EQ(0u, active_layer_->tilings()->num_tilings());
4408 } 4400 }
4409 4401
4410 } // namespace 4402 } // namespace
4411 } // namespace cc 4403 } // namespace cc
OLDNEW
« no previous file with comments | « cc/layers/picture_layer_impl.cc ('k') | cc/layers/scrollbar_layer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698