Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4)

Unified Diff: cc/layers/layer_impl_unittest.cc

Issue 217313003: Stop displaying layers with non-invertible transforms. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix test comment for cases 2-3. Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/layers/layer_impl.cc ('k') | cc/layers/layer_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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()
« no previous file with comments | « cc/layers/layer_impl.cc ('k') | cc/layers/layer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698