Index: cc/layers/layer_impl_unittest.cc |
diff --git a/cc/layers/layer_impl_unittest.cc b/cc/layers/layer_impl_unittest.cc |
index 9fb61d02f7541abfc2b00bb912b5c5b80f32e63e..7aea7c7ebf34832e3fe24a27e269c1cbbbc48228 100644 |
--- a/cc/layers/layer_impl_unittest.cc |
+++ b/cc/layers/layer_impl_unittest.cc |
@@ -386,6 +386,36 @@ TEST(LayerImplTest, SafeOpaqueBackgroundColor) { |
} |
} |
+TEST(LayerImplTest, TransformInvertibility) { |
+ FakeImplProxy proxy; |
+ TestSharedBitmapManager shared_bitmap_manager; |
+ FakeLayerTreeHostImpl host_impl(&proxy, &shared_bitmap_manager); |
+ |
+ scoped_ptr<LayerImpl> layer = LayerImpl::Create(host_impl.active_tree(), 1); |
+ EXPECT_TRUE(layer->transform().IsInvertible()); |
+ EXPECT_TRUE(layer->transform_is_invertible()); |
+ |
+ gfx::Transform transform; |
+ transform.Scale3d( |
+ SkDoubleToMScalar(1.0), SkDoubleToMScalar(1.0), SkDoubleToMScalar(0.0)); |
+ layer->SetTransform(transform); |
+ EXPECT_FALSE(layer->transform().IsInvertible()); |
+ EXPECT_FALSE(layer->transform_is_invertible()); |
+ |
+ transform.MakeIdentity(); |
+ transform.ApplyPerspectiveDepth(SkDoubleToMScalar(100.0)); |
+ transform.RotateAboutZAxis(75.0); |
+ transform.RotateAboutXAxis(32.2); |
+ transform.RotateAboutZAxis(-75.0); |
+ transform.Translate3d(SkDoubleToMScalar(50.5), |
+ SkDoubleToMScalar(42.42), |
+ SkDoubleToMScalar(-100.25)); |
+ |
+ layer->SetTransform(transform); |
+ EXPECT_TRUE(layer->transform().IsInvertible()); |
+ EXPECT_TRUE(layer->transform_is_invertible()); |
+} |
+ |
class LayerImplScrollTest : public testing::Test { |
public: |
LayerImplScrollTest() |