| Index: cc/layer_tree_host_common_unittest.cc
|
| diff --git a/cc/layer_tree_host_common_unittest.cc b/cc/layer_tree_host_common_unittest.cc
|
| index 6933335c5837f9ed177883227ef37d5c64d5bec3..a1f69235cbbc84acef4de5300e9dc0cb9d48604f 100644
|
| --- a/cc/layer_tree_host_common_unittest.cc
|
| +++ b/cc/layer_tree_host_common_unittest.cc
|
| @@ -327,6 +327,7 @@ TEST(LayerTreeHostCommonTest, verifyTransformsForSingleRenderSurface)
|
|
|
| // Child is set up so that a new render surface should be created.
|
| child->setOpacity(0.5);
|
| + child->setForceRenderSurface(true);
|
|
|
| gfx::Transform parentLayerTransform;
|
| parentLayerTransform.Scale3d(1, 0.9, 1);
|
| @@ -1355,6 +1356,7 @@ TEST(LayerTreeHostCommonTest, verifyClipRectCullsRenderSurfaces)
|
|
|
| child->setMasksToBounds(true);
|
| child->setOpacity(0.4f);
|
| + child->setForceRenderSurface(true);
|
| grandChild->setOpacity(0.5);
|
| greatGrandChild->setOpacity(0.4f);
|
|
|
| @@ -1401,7 +1403,9 @@ TEST(LayerTreeHostCommonTest, verifyClipRectCullsSurfaceWithoutVisibleContent)
|
|
|
| parent->setMasksToBounds(true);
|
| child->setOpacity(0.4f);
|
| + child->setForceRenderSurface(true);
|
| grandChild->setOpacity(0.4f);
|
| + grandChild->setForceRenderSurface(true);
|
|
|
| std::vector<scoped_refptr<Layer> > renderSurfaceLayerList;
|
| int dummyMaxTextureSize = 512;
|
| @@ -1629,10 +1633,15 @@ TEST(LayerTreeHostCommonTest, verifyClipRectIsPropagatedCorrectlyToSurfaces)
|
|
|
| // Force everyone to be a render surface.
|
| child->setOpacity(0.4f);
|
| + child->setForceRenderSurface(true);
|
| grandChild1->setOpacity(0.5);
|
| + grandChild1->setForceRenderSurface(true);
|
| grandChild2->setOpacity(0.5);
|
| + grandChild2->setForceRenderSurface(true);
|
| grandChild3->setOpacity(0.5);
|
| + grandChild3->setForceRenderSurface(true);
|
| grandChild4->setOpacity(0.5);
|
| + grandChild4->setForceRenderSurface(true);
|
|
|
| std::vector<scoped_refptr<Layer> > renderSurfaceLayerList;
|
| int dummyMaxTextureSize = 512;
|
| @@ -4611,5 +4620,25 @@ TEST(LayerTreeHostCommonTest, verifySubtreeSearch)
|
| EXPECT_EQ(0, LayerTreeHostCommon::findLayerInSubtree(root.get(), nonexistentId));
|
| }
|
|
|
| +TEST(LayerTreeHostCommonTest, verifyTransparentChildRenderSurfaceCreation)
|
| +{
|
| + scoped_refptr<Layer> root = Layer::create();
|
| + scoped_refptr<Layer> child = Layer::create();
|
| + scoped_refptr<LayerWithForcedDrawsContent> grandChild = make_scoped_refptr(new LayerWithForcedDrawsContent());
|
| +
|
| + const gfx::Transform identityMatrix;
|
| + setLayerPropertiesForTesting(root.get(), identityMatrix, identityMatrix, gfx::PointF(), gfx::PointF(), gfx::Size(100, 100), false);
|
| + setLayerPropertiesForTesting(child.get(), identityMatrix, identityMatrix, gfx::PointF(), gfx::PointF(), gfx::Size(10, 10), false);
|
| + setLayerPropertiesForTesting(grandChild.get(), identityMatrix, identityMatrix, gfx::PointF(), gfx::PointF(), gfx::Size(10, 10), false);
|
| +
|
| + root->addChild(child);
|
| + child->addChild(grandChild);
|
| + child->setOpacity(0.5f);
|
| +
|
| + executeCalculateDrawTransformsAndVisibility(root.get());
|
| +
|
| + EXPECT_FALSE(child->renderSurface());
|
| +}
|
| +
|
| } // namespace
|
| } // namespace cc
|
|
|