| Index: cc/layers/layer_unittest.cc
|
| diff --git a/cc/layers/layer_unittest.cc b/cc/layers/layer_unittest.cc
|
| index f249dfe58947484acc446943c83a2ab098e8fbb1..21cf4d20f3b64184abc8564e7e566b385cf427c3 100644
|
| --- a/cc/layers/layer_unittest.cc
|
| +++ b/cc/layers/layer_unittest.cc
|
| @@ -804,6 +804,37 @@ TEST_F(LayerTest, MaskAndReplicaHasParent) {
|
| EXPECT_EQ(replica, replica->mask_layer()->parent());
|
| }
|
|
|
| +TEST_F(LayerTest, CheckTranformIsInvertible) {
|
| + scoped_refptr<Layer> layer = Layer::Create();
|
| + scoped_ptr<LayerImpl> impl_layer =
|
| + LayerImpl::Create(host_impl_.active_tree(), 1);
|
| + EXPECT_CALL(*layer_tree_host_, SetNeedsFullTreeSync()).Times(1);
|
| + EXPECT_CALL(*layer_tree_host_, SetNeedsCommit()).Times(AnyNumber());
|
| + layer_tree_host_->SetRootLayer(layer);
|
| +
|
| + EXPECT_TRUE(layer->transform_is_invertible());
|
| +
|
| + gfx::Transform singular_transform;
|
| + singular_transform.Scale3d(
|
| + SkDoubleToMScalar(1.0), SkDoubleToMScalar(1.0), SkDoubleToMScalar(0.0));
|
| +
|
| + layer->SetTransform(singular_transform);
|
| + layer->PushPropertiesTo(impl_layer.get());
|
| +
|
| + EXPECT_FALSE(layer->transform_is_invertible());
|
| + EXPECT_FALSE(impl_layer->transform_is_invertible());
|
| +
|
| + gfx::Transform rotation_transform;
|
| + rotation_transform.RotateAboutZAxis(-45.0);
|
| +
|
| + layer->SetTransform(rotation_transform);
|
| + layer->PushPropertiesTo(impl_layer.get());
|
| + EXPECT_TRUE(layer->transform_is_invertible());
|
| + EXPECT_TRUE(impl_layer->transform_is_invertible());
|
| +
|
| + Mock::VerifyAndClearExpectations(layer_tree_host_.get());
|
| +}
|
| +
|
| class LayerTreeHostFactory {
|
| public:
|
| LayerTreeHostFactory()
|
|
|