Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 1413 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1424 AppendQuadsData data; | 1424 AppendQuadsData data; |
| 1425 active_layer_->WillDraw(DRAW_MODE_RESOURCELESS_SOFTWARE, nullptr); | 1425 active_layer_->WillDraw(DRAW_MODE_RESOURCELESS_SOFTWARE, nullptr); |
| 1426 active_layer_->AppendQuads(render_pass.get(), Occlusion(), &data); | 1426 active_layer_->AppendQuads(render_pass.get(), Occlusion(), &data); |
| 1427 active_layer_->DidDraw(nullptr); | 1427 active_layer_->DidDraw(nullptr); |
| 1428 | 1428 |
| 1429 ASSERT_EQ(1U, render_pass->quad_list.size()); | 1429 ASSERT_EQ(1U, render_pass->quad_list.size()); |
| 1430 EXPECT_EQ(DrawQuad::PICTURE_CONTENT, | 1430 EXPECT_EQ(DrawQuad::PICTURE_CONTENT, |
| 1431 render_pass->quad_list.front()->material); | 1431 render_pass->quad_list.front()->material); |
| 1432 } | 1432 } |
| 1433 | 1433 |
| 1434 TEST_F(PictureLayerImplTest, SolidColorLayerImplOnlyDrawsVisibleQuads) { | |
| 1435 scoped_ptr<RenderPass> render_pass = RenderPass::Create(); | |
| 1436 | |
| 1437 gfx::Size tile_size(1000, 1000); | |
| 1438 gfx::Size layer_bounds(1500, 1500); | |
| 1439 gfx::Rect visible_rect(1000, 1000); | |
| 1440 | |
| 1441 scoped_refptr<FakePicturePileImpl> pending_pile = | |
| 1442 FakePicturePileImpl::CreateEmptyPile(tile_size, layer_bounds); | |
| 1443 scoped_refptr<FakePicturePileImpl> active_pile = | |
| 1444 FakePicturePileImpl::CreateEmptyPile(tile_size, layer_bounds); | |
| 1445 | |
| 1446 pending_pile->set_is_solid_color(true); | |
| 1447 active_pile->set_is_solid_color(true); | |
| 1448 | |
| 1449 SetupTrees(pending_pile, active_pile); | |
| 1450 | |
| 1451 active_layer_->draw_properties().visible_content_rect = visible_rect; | |
| 1452 | |
| 1453 AppendQuadsData data; | |
| 1454 active_layer_->WillDraw(DRAW_MODE_SOFTWARE, nullptr); | |
| 1455 active_layer_->AppendQuads(render_pass.get(), Occlusion(), &data); | |
| 1456 active_layer_->DidDraw(nullptr); | |
| 1457 | |
| 1458 for (auto& quad : render_pass->quad_list) { | |
| 1459 EXPECT_TRUE(visible_rect.Contains(quad.rect)); | |
|
danakj
2014/10/24 14:58:39
I think you mean Intersects here. How did you get
hendrikw
2014/10/24 15:32:15
No, I meant to use Contains, we go from left to ri
| |
| 1460 } | |
| 1461 } | |
| 1462 | |
| 1434 TEST_F(PictureLayerImplTest, MarkRequiredOffscreenTiles) { | 1463 TEST_F(PictureLayerImplTest, MarkRequiredOffscreenTiles) { |
| 1435 gfx::Size tile_size(100, 100); | 1464 gfx::Size tile_size(100, 100); |
| 1436 gfx::Size layer_bounds(200, 200); | 1465 gfx::Size layer_bounds(200, 200); |
| 1437 | 1466 |
| 1438 scoped_refptr<FakePicturePileImpl> pending_pile = | 1467 scoped_refptr<FakePicturePileImpl> pending_pile = |
| 1439 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); | 1468 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); |
| 1440 SetupPendingTree(pending_pile); | 1469 SetupPendingTree(pending_pile); |
| 1441 | 1470 |
| 1442 gfx::Transform transform; | 1471 gfx::Transform transform; |
| 1443 gfx::Transform transform_for_tile_priority; | 1472 gfx::Transform transform_for_tile_priority; |
| (...skipping 3106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 4550 result = layer->CalculateTileSize(gfx::Size(447, 400)); | 4579 result = layer->CalculateTileSize(gfx::Size(447, 400)); |
| 4551 EXPECT_EQ(result.width(), 448); | 4580 EXPECT_EQ(result.width(), 448); |
| 4552 EXPECT_EQ(result.height(), 448); | 4581 EXPECT_EQ(result.height(), 448); |
| 4553 result = layer->CalculateTileSize(gfx::Size(500, 499)); | 4582 result = layer->CalculateTileSize(gfx::Size(500, 499)); |
| 4554 EXPECT_EQ(result.width(), 512); | 4583 EXPECT_EQ(result.width(), 512); |
| 4555 EXPECT_EQ(result.height(), 500 + 2); | 4584 EXPECT_EQ(result.height(), 500 + 2); |
| 4556 } | 4585 } |
| 4557 | 4586 |
| 4558 } // namespace | 4587 } // namespace |
| 4559 } // namespace cc | 4588 } // namespace cc |
| OLD | NEW |