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

Unified Diff: cc/layer_tree_host_common_unittest.cc

Issue 12541006: Use LCD text if the transform IsAlmostIdentityAndIntegerTranslation (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Transform::IsAlmostXXX methods Created 7 years, 9 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
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 926ae2ba364041be4a0fcdcdba8f01328d4e20b2..099cb05d23980b4125b7718431c9e8cbde1424a9 100644
--- a/cc/layer_tree_host_common_unittest.cc
+++ b/cc/layer_tree_host_common_unittest.cc
@@ -5147,5 +5147,34 @@ INSTANTIATE_TEST_CASE_P(LayerTreeHostCommonTest,
testing::Combine(testing::Bool(),
testing::Bool()));
+TEST(LayerTreeHostCommonTest, verifyRoundAlmostIntegerComponentsInTransforms)
+{
+ const float kPageScale = 0.9f;
+ const float kDeviceScale = 1.234567f;
+
+ FakeImplProxy proxy;
+ FakeLayerTreeHostImpl hostImpl(&proxy);
+
+ gfx::Transform implTransform;
+ implTransform.Scale(kPageScale, kPageScale);
+
+ gfx::Transform identityMatrix;
+ scoped_ptr<LayerImpl> layerScopedPtr = LayerImpl::create(hostImpl.activeTree(), 1);
+ LayerImpl* layer = layerScopedPtr.get();
+ layer->setContentsScale(kPageScale * kDeviceScale, kPageScale * kDeviceScale);
+ setLayerPropertiesForTesting(layer, identityMatrix, identityMatrix, gfx::Point(0, 0), gfx::PointF(0, 0), gfx::Size(500, 500), false);
+
+ scoped_ptr<LayerImpl> root = LayerImpl::create(hostImpl.activeTree(), 2);
+ root->setContentsScale(kPageScale * kDeviceScale, kPageScale * kDeviceScale);
+ root->setImplTransform(implTransform);
+ root->addChild(layerScopedPtr.Pass());
+
+ executeCalculateDrawProperties(root.get(), kDeviceScale, kPageScale, true);
+ EXPECT_TRUE(layer->drawTransform().IsAlmostIdentity());
+ EXPECT_TRUE(layer->canUseLCDText());
+ EXPECT_TRUE(root->drawTransform().IsAlmostIdentity());
+ EXPECT_TRUE(root->canUseLCDText());
+}
+
} // namespace
} // namespace cc

Powered by Google App Engine
This is Rietveld 408576698