| Index: cc/layers/picture_layer_impl_unittest.cc
|
| diff --git a/cc/layers/picture_layer_impl_unittest.cc b/cc/layers/picture_layer_impl_unittest.cc
|
| index e8c83e12557e00bf19e5e8e3d965eb135dce4d09..3920779c3ff8d043ec0155a3f2ce02e1e4e4368e 100644
|
| --- a/cc/layers/picture_layer_impl_unittest.cc
|
| +++ b/cc/layers/picture_layer_impl_unittest.cc
|
| @@ -1431,6 +1431,40 @@ TEST_F(PictureLayerImplTest, DisallowTileDrawQuads) {
|
| render_pass->quad_list.front()->material);
|
| }
|
|
|
| +TEST_F(PictureLayerImplTest, SolidColorLayerHasVisibleFullCoverage) {
|
| + scoped_ptr<RenderPass> render_pass = RenderPass::Create();
|
| +
|
| + gfx::Size tile_size(1000, 1000);
|
| + gfx::Size layer_bounds(1500, 1500);
|
| + gfx::Rect visible_rect(1000, 1000);
|
| +
|
| + scoped_refptr<FakePicturePileImpl> pending_pile =
|
| + FakePicturePileImpl::CreateEmptyPile(tile_size, layer_bounds);
|
| + scoped_refptr<FakePicturePileImpl> active_pile =
|
| + FakePicturePileImpl::CreateEmptyPile(tile_size, layer_bounds);
|
| +
|
| + pending_pile->set_is_solid_color(true);
|
| + active_pile->set_is_solid_color(true);
|
| +
|
| + SetupTrees(pending_pile, active_pile);
|
| +
|
| + active_layer_->draw_properties().visible_content_rect = visible_rect;
|
| +
|
| + AppendQuadsData data;
|
| + active_layer_->WillDraw(DRAW_MODE_SOFTWARE, nullptr);
|
| + active_layer_->AppendQuads(render_pass.get(), Occlusion(), &data);
|
| + active_layer_->DidDraw(nullptr);
|
| +
|
| + Region remaining = visible_rect;
|
| + for (auto& quad : render_pass->quad_list) {
|
| + EXPECT_TRUE(visible_rect.Contains(quad.rect));
|
| + EXPECT_TRUE(remaining.Contains(quad.rect));
|
| + remaining.Subtract(quad.rect);
|
| + }
|
| +
|
| + EXPECT_TRUE(remaining.IsEmpty());
|
| +}
|
| +
|
| TEST_F(PictureLayerImplTest, MarkRequiredOffscreenTiles) {
|
| gfx::Size tile_size(100, 100);
|
| gfx::Size layer_bounds(200, 200);
|
| @@ -4389,12 +4423,12 @@ void PictureLayerImplTest::TestQuadsForSolidColor(bool test_for_solid) {
|
| SetupPendingTree(pending_pile);
|
| ActivateTree();
|
|
|
| + active_layer_->set_fixed_tile_size(tile_size);
|
| + host_impl_.active_tree()->UpdateDrawProperties();
|
| if (test_for_solid) {
|
| EXPECT_EQ(0u, active_layer_->tilings()->num_tilings());
|
| } else {
|
| ASSERT_TRUE(active_layer_->tilings());
|
| - active_layer_->set_fixed_tile_size(tile_size);
|
| - host_impl_.active_tree()->UpdateDrawProperties();
|
| ASSERT_GT(active_layer_->tilings()->num_tilings(), 0u);
|
| std::vector<Tile*> tiles =
|
| active_layer_->tilings()->tiling_at(0)->AllTilesForTesting();
|
|
|