Chromium Code Reviews| 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 456ea52f1fafac554620061135916567e46636b6..19e39874739cad00f3aa0c4cbcae42485abd36ce 100644 |
| --- a/cc/layer_tree_host_common_unittest.cc |
| +++ b/cc/layer_tree_host_common_unittest.cc |
| @@ -19,16 +19,16 @@ |
| #include "ui/gfx/size_conversions.h" |
| #include "testing/gmock/include/gmock/gmock.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| -#include <public/WebTransformationMatrix.h> |
| +#include "ui/gfx/transform.h" |
| using namespace WebKitTests; |
| -using WebKit::WebTransformationMatrix; |
| +using gfx::Transform; |
| namespace cc { |
| namespace { |
| template<typename LayerType> |
| -void setLayerPropertiesForTestingInternal(LayerType* layer, const WebTransformationMatrix& transform, const WebTransformationMatrix& sublayerTransform, const gfx::PointF& anchor, const gfx::PointF& position, const gfx::Size& bounds, bool preserves3D) |
| +void setLayerPropertiesForTestingInternal(LayerType* layer, const Transform& transform, const Transform& sublayerTransform, const gfx::PointF& anchor, const gfx::PointF& position, const gfx::Size& bounds, bool preserves3D) |
| { |
| layer->setTransform(transform); |
| layer->setSublayerTransform(sublayerTransform); |
| @@ -38,13 +38,13 @@ void setLayerPropertiesForTestingInternal(LayerType* layer, const WebTransformat |
| layer->setPreserves3D(preserves3D); |
| } |
| -void setLayerPropertiesForTesting(Layer* layer, const WebTransformationMatrix& transform, const WebTransformationMatrix& sublayerTransform, const gfx::PointF& anchor, const gfx::PointF& position, const gfx::Size& bounds, bool preserves3D) |
| +void setLayerPropertiesForTesting(Layer* layer, const Transform& transform, const Transform& sublayerTransform, const gfx::PointF& anchor, const gfx::PointF& position, const gfx::Size& bounds, bool preserves3D) |
| { |
| setLayerPropertiesForTestingInternal<Layer>(layer, transform, sublayerTransform, anchor, position, bounds, preserves3D); |
| layer->setAutomaticallyComputeRasterScale(true); |
| } |
| -void setLayerPropertiesForTesting(LayerImpl* layer, const WebTransformationMatrix& transform, const WebTransformationMatrix& sublayerTransform, const gfx::PointF& anchor, const gfx::PointF& position, const gfx::Size& bounds, bool preserves3D) |
| +void setLayerPropertiesForTesting(LayerImpl* layer, const Transform& transform, const Transform& sublayerTransform, const gfx::PointF& anchor, const gfx::PointF& position, const gfx::Size& bounds, bool preserves3D) |
| { |
| setLayerPropertiesForTestingInternal<LayerImpl>(layer, transform, sublayerTransform, anchor, position, bounds, preserves3D); |
| layer->setContentBounds(bounds); |
| @@ -52,7 +52,7 @@ void setLayerPropertiesForTesting(LayerImpl* layer, const WebTransformationMatri |
| void executeCalculateDrawTransformsAndVisibility(Layer* rootLayer, float deviceScaleFactor = 1, float pageScaleFactor = 1) |
| { |
| - WebTransformationMatrix identityMatrix; |
| + Transform identityMatrix; |
| std::vector<scoped_refptr<Layer> > dummyRenderSurfaceLayerList; |
| int dummyMaxTextureSize = 512; |
| gfx::Size deviceViewportSize = gfx::Size(rootLayer->bounds().width() * deviceScaleFactor, rootLayer->bounds().height() * deviceScaleFactor); |
| @@ -66,7 +66,7 @@ void executeCalculateDrawTransformsAndVisibility(LayerImpl* rootLayer, float dev |
| { |
| // Note: this version skips layer sorting. |
| - WebTransformationMatrix identityMatrix; |
| + Transform identityMatrix; |
| std::vector<LayerImpl*> dummyRenderSurfaceLayerList; |
| int dummyMaxTextureSize = 512; |
| gfx::Size deviceViewportSize = gfx::Size(rootLayer->bounds().width() * deviceScaleFactor, rootLayer->bounds().height() * deviceScaleFactor); |
| @@ -76,16 +76,16 @@ void executeCalculateDrawTransformsAndVisibility(LayerImpl* rootLayer, float dev |
| LayerTreeHostCommon::calculateDrawTransforms(rootLayer, deviceViewportSize, deviceScaleFactor, pageScaleFactor, 0, dummyMaxTextureSize, dummyRenderSurfaceLayerList); |
| } |
| -WebTransformationMatrix remove3DComponentOfMatrix(const WebTransformationMatrix& mat) |
| +Transform remove3DComponentOfMatrix(const Transform& mat) |
| { |
| - WebTransformationMatrix ret = mat; |
| - ret.setM13(0); |
| - ret.setM23(0); |
| - ret.setM31(0); |
| - ret.setM32(0); |
| - ret.setM33(1); |
| - ret.setM34(0); |
| - ret.setM43(0); |
| + Transform ret = mat; |
| + ret.matrix().setDouble(2, 0, 0); |
| + ret.matrix().setDouble(2, 1, 0); |
| + ret.matrix().setDouble(0, 2, 0); |
| + ret.matrix().setDouble(1, 2, 0); |
| + ret.matrix().setDouble(2, 2, 1); |
| + ret.matrix().setDouble(3, 2, 0); |
| + ret.matrix().setDouble(2, 3, 0); |
| return ret; |
| } |
| @@ -96,7 +96,7 @@ scoped_ptr<LayerImpl> createTreeForFixedPositionTests() |
| scoped_ptr<LayerImpl> grandChild = LayerImpl::create(3); |
| scoped_ptr<LayerImpl> greatGrandChild = LayerImpl::create(4); |
| - WebTransformationMatrix IdentityMatrix; |
| + Transform IdentityMatrix; |
| gfx::PointF anchor(0, 0); |
| gfx::PointF position(0, 0); |
| gfx::Size bounds(100, 100); |
| @@ -160,7 +160,7 @@ TEST(LayerTreeHostCommonTest, verifyTransformsForNoOpLayer) |
| parent->addChild(child); |
| child->addChild(grandChild); |
| - WebTransformationMatrix identityMatrix; |
| + Transform identityMatrix; |
| setLayerPropertiesForTesting(parent.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(100, 100), false); |
| setLayerPropertiesForTesting(child.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(0, 0), false); |
| setLayerPropertiesForTesting(grandChild.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(0, 0), false); |
| @@ -175,7 +175,7 @@ TEST(LayerTreeHostCommonTest, verifyTransformsForNoOpLayer) |
| TEST(LayerTreeHostCommonTest, verifyTransformsForSingleLayer) |
| { |
| - WebTransformationMatrix identityMatrix; |
| + Transform identityMatrix; |
| scoped_refptr<Layer> layer = Layer::create(); |
| scoped_refptr<Layer> root = Layer::create(); |
| @@ -183,17 +183,17 @@ TEST(LayerTreeHostCommonTest, verifyTransformsForSingleLayer) |
| root->addChild(layer); |
| // Case 1: setting the sublayer transform should not affect this layer's draw transform or screen-space transform. |
| - WebTransformationMatrix arbitraryTranslation; |
| - arbitraryTranslation.translate(10, 20); |
| + Transform arbitraryTranslation; |
| + arbitraryTranslation.PreconcatTranslate(10, 20); |
| setLayerPropertiesForTesting(layer.get(), identityMatrix, arbitraryTranslation, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(100, 100), false); |
| executeCalculateDrawTransformsAndVisibility(root.get()); |
| - WebTransformationMatrix expectedDrawTransform = identityMatrix; |
| + Transform expectedDrawTransform = identityMatrix; |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedDrawTransform, layer->drawTransform()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(identityMatrix, layer->screenSpaceTransform()); |
| // Case 2: Setting the bounds of the layer should not affect either the draw transform or the screenspace transform. |
| - WebTransformationMatrix translationToCenter; |
| - translationToCenter.translate(5, 6); |
| + Transform translationToCenter; |
| + translationToCenter.PreconcatTranslate(5, 6); |
| setLayerPropertiesForTesting(layer.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(10, 12), false); |
| executeCalculateDrawTransformsAndVisibility(root.get()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(identityMatrix, layer->drawTransform()); |
| @@ -206,8 +206,8 @@ TEST(LayerTreeHostCommonTest, verifyTransformsForSingleLayer) |
| EXPECT_TRANSFORMATION_MATRIX_EQ(identityMatrix, layer->screenSpaceTransform()); |
| // Case 4: A change in actual position affects both the draw transform and screen space transform. |
| - WebTransformationMatrix positionTransform; |
| - positionTransform.translate(0, 1.2); |
| + Transform positionTransform; |
| + positionTransform.PreconcatTranslate(0, 1.2); |
| setLayerPropertiesForTesting(layer.get(), identityMatrix, identityMatrix, gfx::PointF(0.25, 0.25), gfx::PointF(0, 1.2f), gfx::Size(10, 12), false); |
| executeCalculateDrawTransformsAndVisibility(root.get()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(positionTransform, layer->drawTransform()); |
| @@ -215,17 +215,17 @@ TEST(LayerTreeHostCommonTest, verifyTransformsForSingleLayer) |
| // Case 5: In the correct sequence of transforms, the layer transform should pre-multiply the translationToCenter. This is easily tested by |
| // using a scale transform, because scale and translation are not commutative. |
| - WebTransformationMatrix layerTransform; |
| - layerTransform.scale3d(2, 2, 1); |
| + Transform layerTransform; |
| + layerTransform.PreconcatScale3d(2, 2, 1); |
| setLayerPropertiesForTesting(layer.get(), layerTransform, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(10, 12), false); |
| executeCalculateDrawTransformsAndVisibility(root.get()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(layerTransform, layer->drawTransform()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(layerTransform, layer->screenSpaceTransform()); |
| // Case 6: The layer transform should occur with respect to the anchor point. |
| - WebTransformationMatrix translationToAnchor; |
| - translationToAnchor.translate(5, 0); |
| - WebTransformationMatrix expectedResult = translationToAnchor * layerTransform * translationToAnchor.inverse(); |
| + Transform translationToAnchor; |
| + translationToAnchor.PreconcatTranslate(5, 0); |
| + Transform expectedResult = translationToAnchor * layerTransform * MathUtil::inverse(translationToAnchor); |
| setLayerPropertiesForTesting(layer.get(), layerTransform, identityMatrix, gfx::PointF(0.5, 0), gfx::PointF(0, 0), gfx::Size(10, 12), false); |
| executeCalculateDrawTransformsAndVisibility(root.get()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedResult, layer->drawTransform()); |
| @@ -234,7 +234,7 @@ TEST(LayerTreeHostCommonTest, verifyTransformsForSingleLayer) |
| // Case 7: Verify that position pre-multiplies the layer transform. |
| // The current implementation of calculateDrawTransforms does this implicitly, but it is |
| // still worth testing to detect accidental regressions. |
| - expectedResult = positionTransform * translationToAnchor * layerTransform * translationToAnchor.inverse(); |
| + expectedResult = positionTransform * translationToAnchor * layerTransform * MathUtil::inverse(translationToAnchor); |
| setLayerPropertiesForTesting(layer.get(), layerTransform, identityMatrix, gfx::PointF(0.5, 0), gfx::PointF(0, 1.2f), gfx::Size(10, 12), false); |
| executeCalculateDrawTransformsAndVisibility(root.get()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedResult, layer->drawTransform()); |
| @@ -243,7 +243,7 @@ TEST(LayerTreeHostCommonTest, verifyTransformsForSingleLayer) |
| TEST(LayerTreeHostCommonTest, verifyTransformsForSimpleHierarchy) |
| { |
| - WebTransformationMatrix identityMatrix; |
| + Transform identityMatrix; |
| scoped_refptr<Layer> root = Layer::create(); |
| scoped_refptr<Layer> parent = Layer::create(); |
| scoped_refptr<Layer> child = Layer::create(); |
| @@ -266,8 +266,8 @@ TEST(LayerTreeHostCommonTest, verifyTransformsForSimpleHierarchy) |
| EXPECT_TRANSFORMATION_MATRIX_EQ(identityMatrix, grandChild->screenSpaceTransform()); |
| // Case 2: parent's position affects child and grandChild. |
| - WebTransformationMatrix parentPositionTransform; |
| - parentPositionTransform.translate(0, 1.2); |
| + Transform parentPositionTransform; |
| + parentPositionTransform.PreconcatTranslate(0, 1.2); |
| setLayerPropertiesForTesting(parent.get(), identityMatrix, identityMatrix, gfx::PointF(0.25, 0.25), gfx::PointF(0, 1.2f), gfx::Size(10, 12), false); |
| setLayerPropertiesForTesting(child.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(16, 18), false); |
| setLayerPropertiesForTesting(grandChild.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(76, 78), false); |
| @@ -278,11 +278,11 @@ TEST(LayerTreeHostCommonTest, verifyTransformsForSimpleHierarchy) |
| EXPECT_TRANSFORMATION_MATRIX_EQ(parentPositionTransform, grandChild->screenSpaceTransform()); |
| // Case 3: parent's local transform affects child and grandchild |
| - WebTransformationMatrix parentLayerTransform; |
| - parentLayerTransform.scale3d(2, 2, 1); |
| - WebTransformationMatrix parentTranslationToAnchor; |
| - parentTranslationToAnchor.translate(2.5, 3); |
| - WebTransformationMatrix parentCompositeTransform = parentTranslationToAnchor * parentLayerTransform * parentTranslationToAnchor.inverse(); |
| + Transform parentLayerTransform; |
| + parentLayerTransform.PreconcatScale3d(2, 2, 1); |
| + Transform parentTranslationToAnchor; |
| + parentTranslationToAnchor.PreconcatTranslate(2.5, 3); |
| + Transform parentCompositeTransform = parentTranslationToAnchor * parentLayerTransform * MathUtil::inverse(parentTranslationToAnchor); |
| setLayerPropertiesForTesting(parent.get(), parentLayerTransform, identityMatrix, gfx::PointF(0.25, 0.25), gfx::PointF(0, 0), gfx::Size(10, 12), false); |
| setLayerPropertiesForTesting(child.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(16, 18), false); |
| setLayerPropertiesForTesting(grandChild.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(76, 78), false); |
| @@ -296,14 +296,14 @@ TEST(LayerTreeHostCommonTest, verifyTransformsForSimpleHierarchy) |
| // scaling is used here again so that the correct sequence of transforms is properly tested. |
| // Note that preserves3D is false, but the sublayer matrix should retain its 3D properties when given to child. |
| // But then, the child also does not preserve3D. When it gives its hierarchy to the grandChild, it should be flattened to 2D. |
| - WebTransformationMatrix parentSublayerMatrix; |
| - parentSublayerMatrix.scale3d(10, 10, 3.3); |
| - WebTransformationMatrix parentTranslationToCenter; |
| - parentTranslationToCenter.translate(5, 6); |
| + Transform parentSublayerMatrix; |
| + parentSublayerMatrix.PreconcatScale3d(10, 10, 3.3); |
| + Transform parentTranslationToCenter; |
| + parentTranslationToCenter.PreconcatTranslate(5, 6); |
| // Sublayer matrix is applied to the center of the parent layer. |
| - parentCompositeTransform = parentTranslationToAnchor * parentLayerTransform * parentTranslationToAnchor.inverse() |
| - * parentTranslationToCenter * parentSublayerMatrix * parentTranslationToCenter.inverse(); |
| - WebTransformationMatrix flattenedCompositeTransform = remove3DComponentOfMatrix(parentCompositeTransform); |
| + parentCompositeTransform = parentTranslationToAnchor * parentLayerTransform * MathUtil::inverse(parentTranslationToAnchor) |
| + * parentTranslationToCenter * parentSublayerMatrix * MathUtil::inverse(parentTranslationToCenter); |
| + Transform flattenedCompositeTransform = remove3DComponentOfMatrix(parentCompositeTransform); |
| setLayerPropertiesForTesting(parent.get(), parentLayerTransform, parentSublayerMatrix, gfx::PointF(0.25, 0.25), gfx::PointF(0, 0), gfx::Size(10, 12), false); |
| setLayerPropertiesForTesting(child.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(16, 18), false); |
| setLayerPropertiesForTesting(grandChild.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(76, 78), false); |
| @@ -336,26 +336,26 @@ TEST(LayerTreeHostCommonTest, verifyTransformsForSingleRenderSurface) |
| child->addChild(grandChild); |
| // One-time setup of root layer |
| - WebTransformationMatrix identityMatrix; |
| + Transform identityMatrix; |
| setLayerPropertiesForTesting(root.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(1, 2), false); |
| // Child is set up so that a new render surface should be created. |
| child->setOpacity(0.5); |
| - WebTransformationMatrix parentLayerTransform; |
| - parentLayerTransform.scale3d(1, 0.9, 1); |
| - WebTransformationMatrix parentTranslationToAnchor; |
| - parentTranslationToAnchor.translate(25, 30); |
| - WebTransformationMatrix parentSublayerMatrix; |
| - parentSublayerMatrix.scale3d(0.9, 1, 3.3); |
| - WebTransformationMatrix parentTranslationToCenter; |
| - parentTranslationToCenter.translate(50, 60); |
| - WebTransformationMatrix parentCompositeTransform = parentTranslationToAnchor * parentLayerTransform * parentTranslationToAnchor.inverse() |
| - * parentTranslationToCenter * parentSublayerMatrix * parentTranslationToCenter.inverse(); |
| + Transform parentLayerTransform; |
| + parentLayerTransform.PreconcatScale3d(1, 0.9, 1); |
| + Transform parentTranslationToAnchor; |
| + parentTranslationToAnchor.PreconcatTranslate(25, 30); |
| + Transform parentSublayerMatrix; |
| + parentSublayerMatrix.PreconcatScale3d(0.9, 1, 3.3); |
| + Transform parentTranslationToCenter; |
| + parentTranslationToCenter.PreconcatTranslate(50, 60); |
| + Transform parentCompositeTransform = parentTranslationToAnchor * parentLayerTransform * MathUtil::inverse(parentTranslationToAnchor) |
| + * parentTranslationToCenter * parentSublayerMatrix * MathUtil::inverse(parentTranslationToCenter); |
| gfx::Vector2dF parentCompositeScale = MathUtil::computeTransform2dScaleComponents(parentCompositeTransform); |
| - WebTransformationMatrix surfaceSublayerTransform; |
| - surfaceSublayerTransform.scaleNonUniform(parentCompositeScale.x(), parentCompositeScale.y()); |
| - WebTransformationMatrix surfaceSublayerCompositeTransform = parentCompositeTransform * surfaceSublayerTransform.inverse(); |
| + Transform surfaceSublayerTransform; |
| + surfaceSublayerTransform.PreconcatScale(parentCompositeScale.x(), parentCompositeScale.y()); |
| + Transform surfaceSublayerCompositeTransform = parentCompositeTransform * MathUtil::inverse(surfaceSublayerTransform); |
| // Child's render surface should not exist yet. |
| ASSERT_FALSE(child->renderSurface()); |
| @@ -395,30 +395,30 @@ TEST(LayerTreeHostCommonTest, verifyTransformsForReplica) |
| child->setReplicaLayer(childReplica.get()); |
| // One-time setup of root layer |
| - WebTransformationMatrix identityMatrix; |
| + Transform identityMatrix; |
| setLayerPropertiesForTesting(root.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(1, 2), false); |
| // Child is set up so that a new render surface should be created. |
| child->setOpacity(0.5); |
| - WebTransformationMatrix parentLayerTransform; |
| - parentLayerTransform.scale3d(2, 2, 1); |
| - WebTransformationMatrix parentTranslationToAnchor; |
| - parentTranslationToAnchor.translate(2.5, 3); |
| - WebTransformationMatrix parentSublayerMatrix; |
| - parentSublayerMatrix.scale3d(10, 10, 3.3); |
| - WebTransformationMatrix parentTranslationToCenter; |
| - parentTranslationToCenter.translate(5, 6); |
| - WebTransformationMatrix parentCompositeTransform = parentTranslationToAnchor * parentLayerTransform * parentTranslationToAnchor.inverse() |
| - * parentTranslationToCenter * parentSublayerMatrix * parentTranslationToCenter.inverse(); |
| - WebTransformationMatrix childTranslationToCenter; |
| - childTranslationToCenter.translate(8, 9); |
| - WebTransformationMatrix replicaLayerTransform; |
| - replicaLayerTransform.scale3d(3, 3, 1); |
| + Transform parentLayerTransform; |
| + parentLayerTransform.PreconcatScale3d(2, 2, 1); |
| + Transform parentTranslationToAnchor; |
| + parentTranslationToAnchor.PreconcatTranslate(2.5, 3); |
| + Transform parentSublayerMatrix; |
| + parentSublayerMatrix.PreconcatScale3d(10, 10, 3.3); |
| + Transform parentTranslationToCenter; |
| + parentTranslationToCenter.PreconcatTranslate(5, 6); |
| + Transform parentCompositeTransform = parentTranslationToAnchor * parentLayerTransform * MathUtil::inverse(parentTranslationToAnchor) |
| + * parentTranslationToCenter * parentSublayerMatrix * MathUtil::inverse(parentTranslationToCenter); |
| + Transform childTranslationToCenter; |
| + childTranslationToCenter.PreconcatTranslate(8, 9); |
| + Transform replicaLayerTransform; |
| + replicaLayerTransform.PreconcatScale3d(3, 3, 1); |
| gfx::Vector2dF parentCompositeScale = MathUtil::computeTransform2dScaleComponents(parentCompositeTransform); |
| - WebTransformationMatrix surfaceSublayerTransform; |
| - surfaceSublayerTransform.scaleNonUniform(parentCompositeScale.x(), parentCompositeScale.y()); |
| - WebTransformationMatrix replicaCompositeTransform = parentCompositeTransform * replicaLayerTransform * surfaceSublayerTransform.inverse(); |
| + Transform surfaceSublayerTransform; |
| + surfaceSublayerTransform.PreconcatScale(parentCompositeScale.x(), parentCompositeScale.y()); |
| + Transform replicaCompositeTransform = parentCompositeTransform * replicaLayerTransform * MathUtil::inverse(surfaceSublayerTransform); |
| // Child's render surface should not exist yet. |
| ASSERT_FALSE(child->renderSurface()); |
| @@ -475,7 +475,7 @@ TEST(LayerTreeHostCommonTest, verifyTransformsForRenderSurfaceHierarchy) |
| renderSurface2->setOpacity(0.33f); |
| // One-time setup of root layer |
| - WebTransformationMatrix identityMatrix; |
| + Transform identityMatrix; |
| setLayerPropertiesForTesting(root.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(1, 2), false); |
| // All layers in the tree are initialized with an anchor at .25 and a size of (10,10). |
| @@ -485,38 +485,38 @@ TEST(LayerTreeHostCommonTest, verifyTransformsForRenderSurfaceHierarchy) |
| // |
| // x component tests that layerTransform and sublayerTransform are done in the right order (translation and scale are noncommutative). |
| // y component has a translation by 1 for every ancestor, which indicates the "depth" of the layer in the hierarchy. |
| - WebTransformationMatrix translationToAnchor; |
| - translationToAnchor.translate(2.5, 0); |
| - WebTransformationMatrix translationToCenter; |
| - translationToCenter.translate(5, 5); |
| - WebTransformationMatrix layerTransform; |
| - layerTransform.translate(1, 1); |
| - WebTransformationMatrix sublayerTransform; |
| - sublayerTransform.scale3d(10, 1, 1); |
| - WebTransformationMatrix replicaLayerTransform; |
| - replicaLayerTransform.scale3d(-2, 5, 1); |
| - |
| - WebTransformationMatrix A = translationToAnchor * layerTransform * translationToAnchor.inverse(); |
| - WebTransformationMatrix B = translationToCenter * sublayerTransform * translationToCenter.inverse(); |
| - WebTransformationMatrix R = A * translationToAnchor * replicaLayerTransform * translationToAnchor.inverse(); |
| + Transform translationToAnchor; |
| + translationToAnchor.PreconcatTranslate(2.5, 0); |
| + Transform translationToCenter; |
| + translationToCenter.PreconcatTranslate(5, 5); |
| + Transform layerTransform; |
| + layerTransform.PreconcatTranslate(1, 1); |
| + Transform sublayerTransform; |
| + sublayerTransform.PreconcatScale3d(10, 1, 1); |
| + Transform replicaLayerTransform; |
| + replicaLayerTransform.PreconcatScale3d(-2, 5, 1); |
| + |
| + Transform A = translationToAnchor * layerTransform * MathUtil::inverse(translationToAnchor); |
| + Transform B = translationToCenter * sublayerTransform * MathUtil::inverse(translationToCenter); |
| + Transform R = A * translationToAnchor * replicaLayerTransform * MathUtil::inverse(translationToAnchor); |
| gfx::Vector2dF surface1ParentTransformScale = MathUtil::computeTransform2dScaleComponents(A * B); |
| - WebTransformationMatrix surface1SublayerTransform; |
| - surface1SublayerTransform.scaleNonUniform(surface1ParentTransformScale.x(), surface1ParentTransformScale.y()); |
| + Transform surface1SublayerTransform; |
| + surface1SublayerTransform.PreconcatScale(surface1ParentTransformScale.x(), surface1ParentTransformScale.y()); |
| // SS1 = transform given to the subtree of renderSurface1 |
| - WebTransformationMatrix SS1 = surface1SublayerTransform; |
| + Transform SS1 = surface1SublayerTransform; |
| // S1 = transform to move from renderSurface1 pixels to the layer space of the owning layer |
| - WebTransformationMatrix S1 = surface1SublayerTransform.inverse(); |
| + Transform S1 = MathUtil::inverse(surface1SublayerTransform); |
| gfx::Vector2dF surface2ParentTransformScale = MathUtil::computeTransform2dScaleComponents(SS1 * A * B); |
| - WebTransformationMatrix surface2SublayerTransform; |
| - surface2SublayerTransform.scaleNonUniform(surface2ParentTransformScale.x(), surface2ParentTransformScale.y()); |
| + Transform surface2SublayerTransform; |
| + surface2SublayerTransform.PreconcatScale(surface2ParentTransformScale.x(), surface2ParentTransformScale.y()); |
| // SS2 = transform given to the subtree of renderSurface2 |
| - WebTransformationMatrix SS2 = surface2SublayerTransform; |
| + Transform SS2 = surface2SublayerTransform; |
| // S2 = transform to move from renderSurface2 pixels to the layer space of the owning layer |
| - WebTransformationMatrix S2 = surface2SublayerTransform.inverse(); |
| + Transform S2 = MathUtil::inverse(surface2SublayerTransform); |
| setLayerPropertiesForTesting(parent.get(), layerTransform, sublayerTransform, gfx::PointF(0.25, 0), gfx::PointF(0, 0), gfx::Size(10, 10), false); |
| setLayerPropertiesForTesting(renderSurface1.get(), layerTransform, sublayerTransform, gfx::PointF(0.25, 0), gfx::PointF(0, 0), gfx::Size(10, 10), false); |
| @@ -606,17 +606,17 @@ TEST(LayerTreeHostCommonTest, verifyTransformsForRenderSurfaceHierarchy) |
| // Sanity check. If these fail there is probably a bug in the test itself. |
| // It is expected that we correctly set up transforms so that the y-component of the screen-space transform |
| // encodes the "depth" of the layer in the tree. |
| - EXPECT_FLOAT_EQ(1, parent->screenSpaceTransform().m42()); |
| - EXPECT_FLOAT_EQ(2, childOfRoot->screenSpaceTransform().m42()); |
| - EXPECT_FLOAT_EQ(3, grandChildOfRoot->screenSpaceTransform().m42()); |
| + EXPECT_FLOAT_EQ(1, parent->screenSpaceTransform().matrix().getDouble(1, 3)); |
| + EXPECT_FLOAT_EQ(2, childOfRoot->screenSpaceTransform().matrix().getDouble(1, 3)); |
| + EXPECT_FLOAT_EQ(3, grandChildOfRoot->screenSpaceTransform().matrix().getDouble(1, 3)); |
| - EXPECT_FLOAT_EQ(2, renderSurface1->screenSpaceTransform().m42()); |
| - EXPECT_FLOAT_EQ(3, childOfRS1->screenSpaceTransform().m42()); |
| - EXPECT_FLOAT_EQ(4, grandChildOfRS1->screenSpaceTransform().m42()); |
| + EXPECT_FLOAT_EQ(2, renderSurface1->screenSpaceTransform().matrix().getDouble(1, 3)); |
| + EXPECT_FLOAT_EQ(3, childOfRS1->screenSpaceTransform().matrix().getDouble(1, 3)); |
| + EXPECT_FLOAT_EQ(4, grandChildOfRS1->screenSpaceTransform().matrix().getDouble(1, 3)); |
| - EXPECT_FLOAT_EQ(3, renderSurface2->screenSpaceTransform().m42()); |
| - EXPECT_FLOAT_EQ(4, childOfRS2->screenSpaceTransform().m42()); |
| - EXPECT_FLOAT_EQ(5, grandChildOfRS2->screenSpaceTransform().m42()); |
| + EXPECT_FLOAT_EQ(3, renderSurface2->screenSpaceTransform().matrix().getDouble(1, 3)); |
| + EXPECT_FLOAT_EQ(4, childOfRS2->screenSpaceTransform().matrix().getDouble(1, 3)); |
| + EXPECT_FLOAT_EQ(5, grandChildOfRS2->screenSpaceTransform().matrix().getDouble(1, 3)); |
| } |
| TEST(LayerTreeHostCommonTest, verifyTransformsForFlatteningLayer) |
| @@ -630,10 +630,10 @@ TEST(LayerTreeHostCommonTest, verifyTransformsForFlatteningLayer) |
| scoped_refptr<Layer> child = Layer::create(); |
| scoped_refptr<LayerWithForcedDrawsContent> grandChild = make_scoped_refptr(new LayerWithForcedDrawsContent()); |
| - WebTransformationMatrix rotationAboutYAxis; |
| - rotationAboutYAxis.rotate3d(0, 30, 0); |
| + Transform rotationAboutYAxis; |
| + MathUtil::rotateEulerAngles(&rotationAboutYAxis, 0, 30, 0); |
| - const WebTransformationMatrix identityMatrix; |
| + const Transform identityMatrix; |
| setLayerPropertiesForTesting(root.get(), identityMatrix, identityMatrix, gfx::PointF(), gfx::PointF(), gfx::Size(100, 100), false); |
| setLayerPropertiesForTesting(child.get(), rotationAboutYAxis, identityMatrix, gfx::PointF(), gfx::PointF(), gfx::Size(10, 10), false); |
| setLayerPropertiesForTesting(grandChild.get(), rotationAboutYAxis, identityMatrix, gfx::PointF(), gfx::PointF(), gfx::Size(10, 10), false); |
| @@ -647,10 +647,10 @@ TEST(LayerTreeHostCommonTest, verifyTransformsForFlatteningLayer) |
| ASSERT_FALSE(child->preserves3D()); |
| ASSERT_FALSE(grandChild->preserves3D()); |
| - WebTransformationMatrix expectedChildDrawTransform = rotationAboutYAxis; |
| - WebTransformationMatrix expectedChildScreenSpaceTransform = rotationAboutYAxis; |
| - WebTransformationMatrix expectedGrandChildDrawTransform = rotationAboutYAxis; // draws onto child's renderSurface |
| - WebTransformationMatrix expectedGrandChildScreenSpaceTransform = rotationAboutYAxis.to2dTransform() * rotationAboutYAxis; |
| + Transform expectedChildDrawTransform = rotationAboutYAxis; |
| + Transform expectedChildScreenSpaceTransform = rotationAboutYAxis; |
| + Transform expectedGrandChildDrawTransform = rotationAboutYAxis; // draws onto child's renderSurface |
| + Transform expectedGrandChildScreenSpaceTransform = MathUtil::to2dTransform(rotationAboutYAxis) * rotationAboutYAxis; |
| executeCalculateDrawTransformsAndVisibility(root.get()); |
| @@ -677,7 +677,7 @@ TEST(LayerTreeHostCommonTest, verifyTransformsForDegenerateIntermediateLayer) |
| scoped_refptr<LayerWithForcedDrawsContent> grandChild = make_scoped_refptr(new LayerWithForcedDrawsContent()); |
| // The child height is zero, but has non-zero width that should be accounted for while computing drawTransforms. |
| - const WebTransformationMatrix identityMatrix; |
| + const 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, 0), false); |
| setLayerPropertiesForTesting(grandChild.get(), identityMatrix, identityMatrix, gfx::PointF(), gfx::PointF(), gfx::Size(10, 10), false); |
| @@ -700,7 +700,7 @@ TEST(LayerTreeHostCommonTest, verifyRenderSurfaceListForRenderSurfaceWithClipped |
| scoped_refptr<Layer> renderSurface1 = Layer::create(); |
| scoped_refptr<LayerWithForcedDrawsContent> child = make_scoped_refptr(new LayerWithForcedDrawsContent()); |
| - const WebTransformationMatrix identityMatrix; |
| + const Transform identityMatrix; |
| setLayerPropertiesForTesting(parent.get(), identityMatrix, identityMatrix, gfx::PointF(), gfx::PointF(), gfx::Size(10, 10), false); |
| setLayerPropertiesForTesting(renderSurface1.get(), identityMatrix, identityMatrix, gfx::PointF(), gfx::PointF(), gfx::Size(10, 10), false); |
| setLayerPropertiesForTesting(child.get(), identityMatrix, identityMatrix, gfx::PointF(), gfx::PointF(30, 30), gfx::Size(10, 10), false); |
| @@ -728,7 +728,7 @@ TEST(LayerTreeHostCommonTest, verifyRenderSurfaceListForTransparentChild) |
| scoped_refptr<Layer> renderSurface1 = Layer::create(); |
| scoped_refptr<LayerWithForcedDrawsContent> child = make_scoped_refptr(new LayerWithForcedDrawsContent()); |
| - const WebTransformationMatrix identityMatrix; |
| + const Transform identityMatrix; |
| setLayerPropertiesForTesting(renderSurface1.get(), identityMatrix, identityMatrix, gfx::PointF(), gfx::PointF(), gfx::Size(10, 10), false); |
| setLayerPropertiesForTesting(child.get(), identityMatrix, identityMatrix, gfx::PointF(), gfx::PointF(), gfx::Size(10, 10), false); |
| @@ -757,7 +757,7 @@ TEST(LayerTreeHostCommonTest, verifyForceRenderSurface) |
| scoped_refptr<LayerWithForcedDrawsContent> child = make_scoped_refptr(new LayerWithForcedDrawsContent()); |
| renderSurface1->setForceRenderSurface(true); |
| - const WebTransformationMatrix identityMatrix; |
| + const Transform identityMatrix; |
| setLayerPropertiesForTesting(parent.get(), identityMatrix, identityMatrix, gfx::PointF(), gfx::PointF(), gfx::Size(10, 10), false); |
| setLayerPropertiesForTesting(renderSurface1.get(), identityMatrix, identityMatrix, gfx::PointF(), gfx::PointF(), gfx::Size(10, 10), false); |
| setLayerPropertiesForTesting(child.get(), identityMatrix, identityMatrix, gfx::PointF(), gfx::PointF(), gfx::Size(10, 10), false); |
| @@ -801,8 +801,8 @@ TEST(LayerTreeHostCommonTest, verifyScrollCompensationForFixedPositionLayerWithD |
| child->setScrollDelta(gfx::Vector2d(0, 0)); |
| executeCalculateDrawTransformsAndVisibility(root.get()); |
| - WebTransformationMatrix expectedChildTransform; |
| - WebTransformationMatrix expectedGrandChildTransform = expectedChildTransform; |
| + Transform expectedChildTransform; |
| + Transform expectedGrandChildTransform = expectedChildTransform; |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedChildTransform, child->drawTransform()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedGrandChildTransform, grandChild->drawTransform()); |
| @@ -812,8 +812,8 @@ TEST(LayerTreeHostCommonTest, verifyScrollCompensationForFixedPositionLayerWithD |
| executeCalculateDrawTransformsAndVisibility(root.get()); |
| // Here the child is affected by scrollDelta, but the fixed position grandChild should not be affected. |
| - expectedChildTransform.makeIdentity(); |
| - expectedChildTransform.translate(-10, -10); |
| + expectedChildTransform.matrix().setIdentity(); |
|
danakj
2012/11/24 02:34:54
note: we should have API on gfx::Transform to neve
|
| + expectedChildTransform.PreconcatTranslate(-10, -10); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedChildTransform, child->drawTransform()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedGrandChildTransform, grandChild->drawTransform()); |
| @@ -834,8 +834,8 @@ TEST(LayerTreeHostCommonTest, verifyScrollCompensationForFixedPositionLayerWithT |
| LayerImpl* grandChild = child->children()[0]; |
| // This scale will cause child and grandChild to be effectively 200 x 800 with respect to the renderTarget. |
| - WebTransformationMatrix nonUniformScale; |
| - nonUniformScale.scaleNonUniform(2, 8); |
| + Transform nonUniformScale; |
| + nonUniformScale.PreconcatScale(2, 8); |
| child->setTransform(nonUniformScale); |
| child->setIsContainerForFixedPositionLayers(true); |
| @@ -845,10 +845,10 @@ TEST(LayerTreeHostCommonTest, verifyScrollCompensationForFixedPositionLayerWithT |
| child->setScrollDelta(gfx::Vector2d(0, 0)); |
| executeCalculateDrawTransformsAndVisibility(root.get()); |
| - WebTransformationMatrix expectedChildTransform; |
| - expectedChildTransform.multiply(nonUniformScale); |
| + Transform expectedChildTransform; |
| + expectedChildTransform.PreconcatTransform(nonUniformScale); |
| - WebTransformationMatrix expectedGrandChildTransform = expectedChildTransform; |
| + Transform expectedGrandChildTransform = expectedChildTransform; |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedChildTransform, child->drawTransform()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedGrandChildTransform, grandChild->drawTransform()); |
| @@ -858,9 +858,9 @@ TEST(LayerTreeHostCommonTest, verifyScrollCompensationForFixedPositionLayerWithT |
| executeCalculateDrawTransformsAndVisibility(root.get()); |
| // The child should be affected by scrollDelta, but the fixed position grandChild should not be affected. |
| - expectedChildTransform.makeIdentity(); |
| - expectedChildTransform.translate(-10, -20); // scrollDelta |
| - expectedChildTransform.multiply(nonUniformScale); |
| + expectedChildTransform.matrix().setIdentity(); |
| + expectedChildTransform.PreconcatTranslate(-10, -20); // scrollDelta |
| + expectedChildTransform.PreconcatTransform(nonUniformScale); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedChildTransform, child->drawTransform()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedGrandChildTransform, grandChild->drawTransform()); |
| @@ -883,11 +883,11 @@ TEST(LayerTreeHostCommonTest, verifyScrollCompensationForFixedPositionLayerWithD |
| child->setScrollDelta(gfx::Vector2d(0, 0)); |
| executeCalculateDrawTransformsAndVisibility(root.get()); |
| - WebTransformationMatrix expectedChildTransform; |
| - WebTransformationMatrix expectedGrandChildTransform; |
| - expectedGrandChildTransform.translate(8, 6); |
| + Transform expectedChildTransform; |
| + Transform expectedGrandChildTransform; |
| + expectedGrandChildTransform.PreconcatTranslate(8, 6); |
| - WebTransformationMatrix expectedGreatGrandChildTransform = expectedGrandChildTransform; |
| + Transform expectedGreatGrandChildTransform = expectedGrandChildTransform; |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedChildTransform, child->drawTransform()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedGrandChildTransform, grandChild->drawTransform()); |
| @@ -898,10 +898,10 @@ TEST(LayerTreeHostCommonTest, verifyScrollCompensationForFixedPositionLayerWithD |
| executeCalculateDrawTransformsAndVisibility(root.get()); |
| // Here the child and grandChild are affected by scrollDelta, but the fixed position greatGrandChild should not be affected. |
| - expectedChildTransform.makeIdentity(); |
| - expectedChildTransform.translate(-10, -10); |
| - expectedGrandChildTransform.makeIdentity(); |
| - expectedGrandChildTransform.translate(-2, -4); |
| + expectedChildTransform.matrix().setIdentity(); |
| + expectedChildTransform.PreconcatTranslate(-10, -10); |
| + expectedGrandChildTransform.matrix().setIdentity(); |
| + expectedGrandChildTransform.PreconcatTranslate(-2, -4); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedChildTransform, child->drawTransform()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedGrandChildTransform, grandChild->drawTransform()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedGreatGrandChildTransform, greatGrandChild->drawTransform()); |
| @@ -917,8 +917,8 @@ TEST(LayerTreeHostCommonTest, verifyScrollCompensationForFixedPositionLayerWithD |
| LayerImpl* grandChild = child->children()[0]; |
| LayerImpl* greatGrandChild = grandChild->children()[0]; |
| - WebTransformationMatrix rotationAboutZ; |
| - rotationAboutZ.rotate3d(0, 0, 90); |
| + Transform rotationAboutZ; |
| + MathUtil::rotateEulerAngles(&rotationAboutZ, 0, 0, 90); |
| child->setIsContainerForFixedPositionLayers(true); |
| child->setTransform(rotationAboutZ); |
| @@ -930,15 +930,15 @@ TEST(LayerTreeHostCommonTest, verifyScrollCompensationForFixedPositionLayerWithD |
| child->setScrollDelta(gfx::Vector2d(0, 0)); |
| executeCalculateDrawTransformsAndVisibility(root.get()); |
| - WebTransformationMatrix expectedChildTransform; |
| - expectedChildTransform.multiply(rotationAboutZ); |
| + Transform expectedChildTransform; |
| + expectedChildTransform.PreconcatTransform(rotationAboutZ); |
| - WebTransformationMatrix expectedGrandChildTransform; |
| - expectedGrandChildTransform.multiply(rotationAboutZ); // child's local transform is inherited |
| - expectedGrandChildTransform.translate(8, 6); // translation because of position occurs before layer's local transform. |
| - expectedGrandChildTransform.multiply(rotationAboutZ); // grandChild's local transform |
| + Transform expectedGrandChildTransform; |
| + expectedGrandChildTransform.PreconcatTransform(rotationAboutZ); // child's local transform is inherited |
| + expectedGrandChildTransform.PreconcatTranslate(8, 6); // translation because of position occurs before layer's local transform. |
| + expectedGrandChildTransform.PreconcatTransform(rotationAboutZ); // grandChild's local transform |
| - WebTransformationMatrix expectedGreatGrandChildTransform = expectedGrandChildTransform; |
| + Transform expectedGreatGrandChildTransform = expectedGrandChildTransform; |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedChildTransform, child->drawTransform()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedGrandChildTransform, grandChild->drawTransform()); |
| @@ -949,15 +949,15 @@ TEST(LayerTreeHostCommonTest, verifyScrollCompensationForFixedPositionLayerWithD |
| executeCalculateDrawTransformsAndVisibility(root.get()); |
| // Here the child and grandChild are affected by scrollDelta, but the fixed position greatGrandChild should not be affected. |
| - expectedChildTransform.makeIdentity(); |
| - expectedChildTransform.translate(-10, -20); // scrollDelta |
| - expectedChildTransform.multiply(rotationAboutZ); |
| + expectedChildTransform.matrix().setIdentity(); |
| + expectedChildTransform.PreconcatTranslate(-10, -20); // scrollDelta |
| + expectedChildTransform.PreconcatTransform(rotationAboutZ); |
| - expectedGrandChildTransform.makeIdentity(); |
| - expectedGrandChildTransform.translate(-10, -20); // child's scrollDelta is inherited |
| - expectedGrandChildTransform.multiply(rotationAboutZ); // child's local transform is inherited |
| - expectedGrandChildTransform.translate(8, 6); // translation because of position occurs before layer's local transform. |
| - expectedGrandChildTransform.multiply(rotationAboutZ); // grandChild's local transform |
| + expectedGrandChildTransform.matrix().setIdentity(); |
| + expectedGrandChildTransform.PreconcatTranslate(-10, -20); // child's scrollDelta is inherited |
| + expectedGrandChildTransform.PreconcatTransform(rotationAboutZ); // child's local transform is inherited |
| + expectedGrandChildTransform.PreconcatTranslate(8, 6); // translation because of position occurs before layer's local transform. |
| + expectedGrandChildTransform.PreconcatTransform(rotationAboutZ); // grandChild's local transform |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedChildTransform, child->drawTransform()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedGrandChildTransform, grandChild->drawTransform()); |
| @@ -977,8 +977,8 @@ TEST(LayerTreeHostCommonTest, verifyScrollCompensationForFixedPositionLayerWithM |
| LayerImpl* grandChild = child->children()[0]; |
| LayerImpl* greatGrandChild = grandChild->children()[0]; |
| - WebTransformationMatrix rotationAboutZ; |
| - rotationAboutZ.rotate3d(0, 0, 90); |
| + Transform rotationAboutZ; |
| + MathUtil::rotateEulerAngles(&rotationAboutZ, 0, 0, 90); |
| child->setIsContainerForFixedPositionLayers(true); |
| child->setTransform(rotationAboutZ); |
| @@ -990,15 +990,15 @@ TEST(LayerTreeHostCommonTest, verifyScrollCompensationForFixedPositionLayerWithM |
| child->setScrollDelta(gfx::Vector2d(0, 0)); |
| executeCalculateDrawTransformsAndVisibility(root.get()); |
| - WebTransformationMatrix expectedChildTransform; |
| - expectedChildTransform.multiply(rotationAboutZ); |
| + Transform expectedChildTransform; |
| + expectedChildTransform.PreconcatTransform(rotationAboutZ); |
| - WebTransformationMatrix expectedGrandChildTransform; |
| - expectedGrandChildTransform.multiply(rotationAboutZ); // child's local transform is inherited |
| - expectedGrandChildTransform.translate(8, 6); // translation because of position occurs before layer's local transform. |
| - expectedGrandChildTransform.multiply(rotationAboutZ); // grandChild's local transform |
| + Transform expectedGrandChildTransform; |
| + expectedGrandChildTransform.PreconcatTransform(rotationAboutZ); // child's local transform is inherited |
| + expectedGrandChildTransform.PreconcatTranslate(8, 6); // translation because of position occurs before layer's local transform. |
| + expectedGrandChildTransform.PreconcatTransform(rotationAboutZ); // grandChild's local transform |
| - WebTransformationMatrix expectedGreatGrandChildTransform = expectedGrandChildTransform; |
| + Transform expectedGreatGrandChildTransform = expectedGrandChildTransform; |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedChildTransform, child->drawTransform()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedGrandChildTransform, grandChild->drawTransform()); |
| @@ -1010,16 +1010,16 @@ TEST(LayerTreeHostCommonTest, verifyScrollCompensationForFixedPositionLayerWithM |
| executeCalculateDrawTransformsAndVisibility(root.get()); |
| // Here the child and grandChild are affected by scrollDelta, but the fixed position greatGrandChild should not be affected. |
| - expectedChildTransform.makeIdentity(); |
| - expectedChildTransform.translate(-10, 0); // scrollDelta |
| - expectedChildTransform.multiply(rotationAboutZ); |
| + expectedChildTransform.matrix().setIdentity(); |
| + expectedChildTransform.PreconcatTranslate(-10, 0); // scrollDelta |
| + expectedChildTransform.PreconcatTransform(rotationAboutZ); |
| - expectedGrandChildTransform.makeIdentity(); |
| - expectedGrandChildTransform.translate(-10, 0); // child's scrollDelta is inherited |
| - expectedGrandChildTransform.multiply(rotationAboutZ); // child's local transform is inherited |
| - expectedGrandChildTransform.translate(-5, 0); // grandChild's scrollDelta |
| - expectedGrandChildTransform.translate(8, 6); // translation because of position occurs before layer's local transform. |
| - expectedGrandChildTransform.multiply(rotationAboutZ); // grandChild's local transform |
| + expectedGrandChildTransform.matrix().setIdentity(); |
| + expectedGrandChildTransform.PreconcatTranslate(-10, 0); // child's scrollDelta is inherited |
| + expectedGrandChildTransform.PreconcatTransform(rotationAboutZ); // child's local transform is inherited |
| + expectedGrandChildTransform.PreconcatTranslate(-5, 0); // grandChild's scrollDelta |
| + expectedGrandChildTransform.PreconcatTranslate(8, 6); // translation because of position occurs before layer's local transform. |
| + expectedGrandChildTransform.PreconcatTransform(rotationAboutZ); // grandChild's local transform |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedChildTransform, child->drawTransform()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedGrandChildTransform, grandChild->drawTransform()); |
| @@ -1043,20 +1043,20 @@ TEST(LayerTreeHostCommonTest, verifyScrollCompensationForFixedPositionLayerWithI |
| greatGrandChild->setFixedToContainerLayer(true); |
| greatGrandChild->setDrawsContent(true); |
| - WebTransformationMatrix rotationAboutZ; |
| - rotationAboutZ.rotate3d(0, 0, 90); |
| + Transform rotationAboutZ; |
| + MathUtil::rotateEulerAngles(&rotationAboutZ, 0, 0, 90); |
| grandChild->setTransform(rotationAboutZ); |
| // Case 1: scrollDelta of 0, 0 |
| child->setScrollDelta(gfx::Vector2d(0, 0)); |
| executeCalculateDrawTransformsAndVisibility(root.get()); |
| - WebTransformationMatrix expectedChildTransform; |
| - WebTransformationMatrix expectedSurfaceDrawTransform; |
| - expectedSurfaceDrawTransform.translate(8, 6); |
| - expectedSurfaceDrawTransform.multiply(rotationAboutZ); |
| - WebTransformationMatrix expectedGrandChildTransform; |
| - WebTransformationMatrix expectedGreatGrandChildTransform; |
| + Transform expectedChildTransform; |
| + Transform expectedSurfaceDrawTransform; |
| + expectedSurfaceDrawTransform.PreconcatTranslate(8, 6); |
| + expectedSurfaceDrawTransform.PreconcatTransform(rotationAboutZ); |
| + Transform expectedGrandChildTransform; |
| + Transform expectedGreatGrandChildTransform; |
| ASSERT_TRUE(grandChild->renderSurface()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedChildTransform, child->drawTransform()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedSurfaceDrawTransform, grandChild->renderSurface()->drawTransform()); |
| @@ -1074,21 +1074,21 @@ TEST(LayerTreeHostCommonTest, verifyScrollCompensationForFixedPositionLayerWithI |
| // that surface. So, the net result is that, unlike previous tests where the fixed |
| // position layer's transform remains unchanged, here the fixed position layer's |
| // transform explicitly contains the translation that cancels out the scroll. |
| - expectedChildTransform.makeIdentity(); |
| - expectedChildTransform.translate(-10, -30); // scrollDelta |
| + expectedChildTransform.matrix().setIdentity(); |
| + expectedChildTransform.PreconcatTranslate(-10, -30); // scrollDelta |
| - expectedSurfaceDrawTransform.makeIdentity(); |
| - expectedSurfaceDrawTransform.translate(-10, -30); // scrollDelta |
| - expectedSurfaceDrawTransform.translate(8, 6); |
| - expectedSurfaceDrawTransform.multiply(rotationAboutZ); |
| + expectedSurfaceDrawTransform.matrix().setIdentity(); |
| + expectedSurfaceDrawTransform.PreconcatTranslate(-10, -30); // scrollDelta |
| + expectedSurfaceDrawTransform.PreconcatTranslate(8, 6); |
| + expectedSurfaceDrawTransform.PreconcatTransform(rotationAboutZ); |
| // The rotation and its inverse are needed to place the scrollDelta compensation in |
| // the correct space. This test will fail if the rotation/inverse are backwards, too, |
| // so it requires perfect order of operations. |
| - expectedGreatGrandChildTransform.makeIdentity(); |
| - expectedGreatGrandChildTransform.multiply(rotationAboutZ.inverse()); |
| - expectedGreatGrandChildTransform.translate(10, 30); // explicit canceling out the scrollDelta that gets embedded in the fixed position layer's surface. |
| - expectedGreatGrandChildTransform.multiply(rotationAboutZ); |
| + expectedGreatGrandChildTransform.matrix().setIdentity(); |
| + expectedGreatGrandChildTransform.PreconcatTransform(MathUtil::inverse(rotationAboutZ)); |
| + expectedGreatGrandChildTransform.PreconcatTranslate(10, 30); // explicit canceling out the scrollDelta that gets embedded in the fixed position layer's surface. |
| + expectedGreatGrandChildTransform.PreconcatTransform(rotationAboutZ); |
| ASSERT_TRUE(grandChild->renderSurface()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedChildTransform, child->drawTransform()); |
| @@ -1110,7 +1110,7 @@ TEST(LayerTreeHostCommonTest, verifyScrollCompensationForFixedPositionLayerWithM |
| // Add one more layer to the test tree for this scenario. |
| { |
| - WebTransformationMatrix identity; |
| + Transform identity; |
| scoped_ptr<LayerImpl> fixedPositionChild = LayerImpl::create(5); |
| setLayerPropertiesForTesting(fixedPositionChild.get(), identity, identity, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(100, 100), false); |
| greatGrandChild->addChild(fixedPositionChild.Pass()); |
| @@ -1130,10 +1130,10 @@ TEST(LayerTreeHostCommonTest, verifyScrollCompensationForFixedPositionLayerWithM |
| // verify that we have correct order-of-operations in the final scroll compensation. |
| // Note that rotating about the center of the layer ensures we do not accidentally |
| // clip away layers that we want to test. |
| - WebTransformationMatrix rotationAboutZ; |
| - rotationAboutZ.translate(50, 50); |
| - rotationAboutZ.rotate3d(0, 0, 90); |
| - rotationAboutZ.translate(-50, -50); |
| + Transform rotationAboutZ; |
| + rotationAboutZ.PreconcatTranslate(50, 50); |
| + MathUtil::rotateEulerAngles(&rotationAboutZ, 0, 0, 90); |
| + rotationAboutZ.PreconcatTranslate(-50, -50); |
| grandChild->setTransform(rotationAboutZ); |
| greatGrandChild->setTransform(rotationAboutZ); |
| @@ -1141,21 +1141,21 @@ TEST(LayerTreeHostCommonTest, verifyScrollCompensationForFixedPositionLayerWithM |
| child->setScrollDelta(gfx::Vector2d(0, 0)); |
| executeCalculateDrawTransformsAndVisibility(root.get()); |
| - WebTransformationMatrix expectedChildTransform; |
| + Transform expectedChildTransform; |
| - WebTransformationMatrix expectedGrandChildSurfaceDrawTransform; |
| - expectedGrandChildSurfaceDrawTransform.translate(8, 6); |
| - expectedGrandChildSurfaceDrawTransform.multiply(rotationAboutZ); |
| + Transform expectedGrandChildSurfaceDrawTransform; |
| + expectedGrandChildSurfaceDrawTransform.PreconcatTranslate(8, 6); |
| + expectedGrandChildSurfaceDrawTransform.PreconcatTransform(rotationAboutZ); |
| - WebTransformationMatrix expectedGrandChildTransform; |
| + Transform expectedGrandChildTransform; |
| - WebTransformationMatrix expectedGreatGrandChildSurfaceDrawTransform; |
| - expectedGreatGrandChildSurfaceDrawTransform.translate(40, 60); |
| - expectedGreatGrandChildSurfaceDrawTransform.multiply(rotationAboutZ); |
| + Transform expectedGreatGrandChildSurfaceDrawTransform; |
| + expectedGreatGrandChildSurfaceDrawTransform.PreconcatTranslate(40, 60); |
| + expectedGreatGrandChildSurfaceDrawTransform.PreconcatTransform(rotationAboutZ); |
| - WebTransformationMatrix expectedGreatGrandChildTransform; |
| + Transform expectedGreatGrandChildTransform; |
| - WebTransformationMatrix expectedFixedPositionChildTransform; |
| + Transform expectedFixedPositionChildTransform; |
| ASSERT_TRUE(grandChild->renderSurface()); |
| ASSERT_TRUE(greatGrandChild->renderSurface()); |
| @@ -1170,13 +1170,13 @@ TEST(LayerTreeHostCommonTest, verifyScrollCompensationForFixedPositionLayerWithM |
| child->setScrollDelta(gfx::Vector2d(10, 30)); |
| executeCalculateDrawTransformsAndVisibility(root.get()); |
| - expectedChildTransform.makeIdentity(); |
| - expectedChildTransform.translate(-10, -30); // scrollDelta |
| + expectedChildTransform.matrix().setIdentity(); |
| + expectedChildTransform.PreconcatTranslate(-10, -30); // scrollDelta |
| - expectedGrandChildSurfaceDrawTransform.makeIdentity(); |
| - expectedGrandChildSurfaceDrawTransform.translate(-10, -30); // scrollDelta |
| - expectedGrandChildSurfaceDrawTransform.translate(8, 6); |
| - expectedGrandChildSurfaceDrawTransform.multiply(rotationAboutZ); |
| + expectedGrandChildSurfaceDrawTransform.matrix().setIdentity(); |
| + expectedGrandChildSurfaceDrawTransform.PreconcatTranslate(-10, -30); // scrollDelta |
| + expectedGrandChildSurfaceDrawTransform.PreconcatTranslate(8, 6); |
| + expectedGrandChildSurfaceDrawTransform.PreconcatTransform(rotationAboutZ); |
| // grandChild, greatGrandChild, and greatGrandChild's surface are not expected to |
| // change, since they are all not fixed, and they are all drawn with respect to |
| @@ -1185,16 +1185,16 @@ TEST(LayerTreeHostCommonTest, verifyScrollCompensationForFixedPositionLayerWithM |
| // But the great-great grandchild, "fixedPositionChild", should have a transform that explicitly cancels out the scrollDelta. |
| // The expected transform is: |
| // compoundDrawTransform.inverse() * translate(positive scrollDelta) * compoundOriginTransform |
| - WebTransformationMatrix compoundDrawTransform; // transform from greatGrandChildSurface's origin to the root surface. |
| - compoundDrawTransform.translate(8, 6); // origin translation of grandChild |
| - compoundDrawTransform.multiply(rotationAboutZ); // rotation of grandChild |
| - compoundDrawTransform.translate(40, 60); // origin translation of greatGrandChild |
| - compoundDrawTransform.multiply(rotationAboutZ); // rotation of greatGrandChild |
| + Transform compoundDrawTransform; // transform from greatGrandChildSurface's origin to the root surface. |
| + compoundDrawTransform.PreconcatTranslate(8, 6); // origin translation of grandChild |
| + compoundDrawTransform.PreconcatTransform(rotationAboutZ); // rotation of grandChild |
| + compoundDrawTransform.PreconcatTranslate(40, 60); // origin translation of greatGrandChild |
| + compoundDrawTransform.PreconcatTransform(rotationAboutZ); // rotation of greatGrandChild |
| - expectedFixedPositionChildTransform.makeIdentity(); |
| - expectedFixedPositionChildTransform.multiply(compoundDrawTransform.inverse()); |
| - expectedFixedPositionChildTransform.translate(10, 30); // explicit canceling out the scrollDelta that gets embedded in the fixed position layer's surface. |
| - expectedFixedPositionChildTransform.multiply(compoundDrawTransform); |
| + expectedFixedPositionChildTransform.matrix().setIdentity(); |
| + expectedFixedPositionChildTransform.PreconcatTransform(MathUtil::inverse(compoundDrawTransform)); |
| + expectedFixedPositionChildTransform.PreconcatTranslate(10, 30); // explicit canceling out the scrollDelta that gets embedded in the fixed position layer's surface. |
| + expectedFixedPositionChildTransform.PreconcatTransform(compoundDrawTransform); |
| ASSERT_TRUE(grandChild->renderSurface()); |
| ASSERT_TRUE(greatGrandChild->renderSurface()); |
| @@ -1225,10 +1225,10 @@ TEST(LayerTreeHostCommonTest, verifyScrollCompensationForFixedPositionLayerWithC |
| child->setScrollDelta(gfx::Vector2d(0, 0)); |
| executeCalculateDrawTransformsAndVisibility(root.get()); |
| - WebTransformationMatrix expectedSurfaceDrawTransform; |
| - expectedSurfaceDrawTransform.translate(0, 0); |
| - WebTransformationMatrix expectedChildTransform; |
| - WebTransformationMatrix expectedGrandChildTransform; |
| + Transform expectedSurfaceDrawTransform; |
| + expectedSurfaceDrawTransform.PreconcatTranslate(0, 0); |
| + Transform expectedChildTransform; |
| + Transform expectedGrandChildTransform; |
| ASSERT_TRUE(child->renderSurface()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedSurfaceDrawTransform, child->renderSurface()->drawTransform()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedChildTransform, child->drawTransform()); |
| @@ -1241,10 +1241,10 @@ TEST(LayerTreeHostCommonTest, verifyScrollCompensationForFixedPositionLayerWithC |
| // The surface is translated by scrollDelta, the child transform doesn't change |
| // because it scrolls along with the surface, but the fixed position grandChild |
| // needs to compensate for the scroll translation. |
| - expectedSurfaceDrawTransform.makeIdentity(); |
| - expectedSurfaceDrawTransform.translate(-10, -10); |
| - expectedGrandChildTransform.makeIdentity(); |
| - expectedGrandChildTransform.translate(10, 10); |
| + expectedSurfaceDrawTransform.matrix().setIdentity(); |
| + expectedSurfaceDrawTransform.PreconcatTranslate(-10, -10); |
| + expectedGrandChildTransform.matrix().setIdentity(); |
| + expectedGrandChildTransform.PreconcatTranslate(10, 10); |
| ASSERT_TRUE(child->renderSurface()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedSurfaceDrawTransform, child->renderSurface()->drawTransform()); |
| @@ -1271,8 +1271,8 @@ TEST(LayerTreeHostCommonTest, verifyScrollCompensationForFixedPositionLayerThatI |
| child->setScrollDelta(gfx::Vector2d(0, 0)); |
| executeCalculateDrawTransformsAndVisibility(root.get()); |
| - WebTransformationMatrix expectedChildTransform; |
| - WebTransformationMatrix expectedGrandChildTransform; |
| + Transform expectedChildTransform; |
| + Transform expectedGrandChildTransform; |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedChildTransform, child->drawTransform()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedGrandChildTransform, grandChild->drawTransform()); |
| @@ -1281,8 +1281,8 @@ TEST(LayerTreeHostCommonTest, verifyScrollCompensationForFixedPositionLayerThatI |
| executeCalculateDrawTransformsAndVisibility(root.get()); |
| // Here the child is affected by scrollDelta, but the fixed position grandChild should not be affected. |
| - expectedChildTransform.makeIdentity(); |
| - expectedChildTransform.translate(-10, -10); |
| + expectedChildTransform.matrix().setIdentity(); |
| + expectedChildTransform.PreconcatTranslate(-10, -10); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedChildTransform, child->drawTransform()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedGrandChildTransform, grandChild->drawTransform()); |
| } |
| @@ -1296,8 +1296,8 @@ TEST(LayerTreeHostCommonTest, verifyScrollCompensationForFixedPositionLayerThatH |
| LayerImpl* child = root->children()[0]; |
| LayerImpl* grandChild = child->children()[0]; |
| - WebTransformationMatrix rotationByZ; |
| - rotationByZ.rotate3d(0, 0, 90); |
| + Transform rotationByZ; |
| + MathUtil::rotateEulerAngles(&rotationByZ, 0, 0, 90); |
| root->setTransform(rotationByZ); |
| grandChild->setFixedToContainerLayer(true); |
| @@ -1306,7 +1306,7 @@ TEST(LayerTreeHostCommonTest, verifyScrollCompensationForFixedPositionLayerThatH |
| root->setScrollDelta(gfx::Vector2d(0, 0)); |
| executeCalculateDrawTransformsAndVisibility(root.get()); |
| - WebTransformationMatrix identityMatrix; |
| + Transform identityMatrix; |
| EXPECT_TRANSFORMATION_MATRIX_EQ(identityMatrix, child->drawTransform()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(identityMatrix, grandChild->drawTransform()); |
| @@ -1319,10 +1319,10 @@ TEST(LayerTreeHostCommonTest, verifyScrollCompensationForFixedPositionLayerThatH |
| // the child's target surface (i.e. the root renderSurface). The grandChild is not |
| // affected by the scrollDelta, so its drawTransform needs to explicitly |
| // inverse-compensate for the scroll that's embedded in the target surface. |
| - WebTransformationMatrix expectedGrandChildTransform; |
| - expectedGrandChildTransform.multiply(rotationByZ.inverse()); |
| - expectedGrandChildTransform.translate(10, 20); // explicit canceling out the scrollDelta that gets embedded in the fixed position layer's surface. |
| - expectedGrandChildTransform.multiply(rotationByZ); |
| + Transform expectedGrandChildTransform; |
| + expectedGrandChildTransform.PreconcatTransform(MathUtil::inverse(rotationByZ)); |
| + expectedGrandChildTransform.PreconcatTranslate(10, 20); // explicit canceling out the scrollDelta that gets embedded in the fixed position layer's surface. |
| + expectedGrandChildTransform.PreconcatTransform(rotationByZ); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(identityMatrix, child->drawTransform()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedGrandChildTransform, grandChild->drawTransform()); |
| @@ -1344,7 +1344,7 @@ TEST(LayerTreeHostCommonTest, verifyClipRectCullsRenderSurfaces) |
| // clipRect, and they should never get scheduled on the list of renderSurfaces. |
| // |
| - const WebTransformationMatrix identityMatrix; |
| + const Transform identityMatrix; |
| scoped_refptr<Layer> parent = Layer::create(); |
| scoped_refptr<Layer> child = Layer::create(); |
| scoped_refptr<Layer> grandChild = Layer::create(); |
| @@ -1399,7 +1399,7 @@ TEST(LayerTreeHostCommonTest, verifyClipRectCullsSurfaceWithoutVisibleContent) |
| // this clipping should be avoided and we should keep the grandChild |
| // in the renderSurfaceLayerList. |
| - const WebTransformationMatrix identityMatrix; |
| + const Transform identityMatrix; |
| scoped_refptr<Layer> parent = Layer::create(); |
| scoped_refptr<Layer> child = Layer::create(); |
| scoped_refptr<Layer> grandChild = Layer::create(); |
| @@ -1457,7 +1457,7 @@ TEST(LayerTreeHostCommonTest, verifyIsClippedIsSetCorrectly) |
| // - but if the layer itself masks to bounds, it is considered clipped |
| // and propagates the clip to the subtree. |
| - const WebTransformationMatrix identityMatrix; |
| + const Transform identityMatrix; |
| scoped_refptr<Layer> root = Layer::create(); |
| scoped_refptr<Layer> parent = Layer::create(); |
| scoped_refptr<Layer> child1 = Layer::create(); |
| @@ -1552,7 +1552,7 @@ TEST(LayerTreeHostCommonTest, verifyDrawableContentRectForLayers) |
| // grandChild4 - outside parent's clipRect; the drawableContentRect should be empty. |
| // |
| - const WebTransformationMatrix identityMatrix; |
| + const Transform identityMatrix; |
| scoped_refptr<Layer> parent = Layer::create(); |
| scoped_refptr<Layer> child = Layer::create(); |
| scoped_refptr<Layer> grandChild1 = Layer::create(); |
| @@ -1602,7 +1602,7 @@ TEST(LayerTreeHostCommonTest, verifyClipRectIsPropagatedCorrectlyToSurfaces) |
| // have a clipRect of their own layer bounds, however, if masksToBounds was true. |
| // |
| - const WebTransformationMatrix identityMatrix; |
| + const Transform identityMatrix; |
| scoped_refptr<Layer> parent = Layer::create(); |
| scoped_refptr<Layer> child = Layer::create(); |
| scoped_refptr<Layer> grandChild1 = Layer::create(); |
| @@ -1693,10 +1693,10 @@ TEST(LayerTreeHostCommonTest, verifyAnimationsForRenderSurfaceHierarchy) |
| // Also put an animated opacity on a layer without descendants. |
| addOpacityTransitionToController(*grandChildOfRoot->layerAnimationController(), 10, 1, 0, false); |
| - WebTransformationMatrix layerTransform; |
| - layerTransform.translate(1, 1); |
| - WebTransformationMatrix sublayerTransform; |
| - sublayerTransform.scale3d(10, 1, 1); |
| + Transform layerTransform; |
| + layerTransform.PreconcatTranslate(1, 1); |
| + Transform sublayerTransform; |
| + sublayerTransform.PreconcatScale3d(10, 1, 1); |
| // Put a transform animation on the render surface. |
| addAnimatedTransformToController(*renderSurface2->layerAnimationController(), 10, 30, 0); |
| @@ -1791,17 +1791,17 @@ TEST(LayerTreeHostCommonTest, verifyAnimationsForRenderSurfaceHierarchy) |
| // Sanity check. If these fail there is probably a bug in the test itself. |
| // It is expected that we correctly set up transforms so that the y-component of the screen-space transform |
| // encodes the "depth" of the layer in the tree. |
| - EXPECT_FLOAT_EQ(1, parent->screenSpaceTransform().m42()); |
| - EXPECT_FLOAT_EQ(2, childOfRoot->screenSpaceTransform().m42()); |
| - EXPECT_FLOAT_EQ(3, grandChildOfRoot->screenSpaceTransform().m42()); |
| + EXPECT_FLOAT_EQ(1, parent->screenSpaceTransform().matrix().getDouble(1, 3)); |
| + EXPECT_FLOAT_EQ(2, childOfRoot->screenSpaceTransform().matrix().getDouble(1, 3)); |
| + EXPECT_FLOAT_EQ(3, grandChildOfRoot->screenSpaceTransform().matrix().getDouble(1, 3)); |
| - EXPECT_FLOAT_EQ(2, renderSurface1->screenSpaceTransform().m42()); |
| - EXPECT_FLOAT_EQ(3, childOfRS1->screenSpaceTransform().m42()); |
| - EXPECT_FLOAT_EQ(4, grandChildOfRS1->screenSpaceTransform().m42()); |
| + EXPECT_FLOAT_EQ(2, renderSurface1->screenSpaceTransform().matrix().getDouble(1, 3)); |
| + EXPECT_FLOAT_EQ(3, childOfRS1->screenSpaceTransform().matrix().getDouble(1, 3)); |
| + EXPECT_FLOAT_EQ(4, grandChildOfRS1->screenSpaceTransform().matrix().getDouble(1, 3)); |
| - EXPECT_FLOAT_EQ(3, renderSurface2->screenSpaceTransform().m42()); |
| - EXPECT_FLOAT_EQ(4, childOfRS2->screenSpaceTransform().m42()); |
| - EXPECT_FLOAT_EQ(5, grandChildOfRS2->screenSpaceTransform().m42()); |
| + EXPECT_FLOAT_EQ(3, renderSurface2->screenSpaceTransform().matrix().getDouble(1, 3)); |
| + EXPECT_FLOAT_EQ(4, childOfRS2->screenSpaceTransform().matrix().getDouble(1, 3)); |
| + EXPECT_FLOAT_EQ(5, grandChildOfRS2->screenSpaceTransform().matrix().getDouble(1, 3)); |
| } |
| TEST(LayerTreeHostCommonTest, verifyVisibleRectForIdentityTransform) |
| @@ -1809,7 +1809,7 @@ TEST(LayerTreeHostCommonTest, verifyVisibleRectForIdentityTransform) |
| // Test the calculateVisibleRect() function works correctly for identity transforms. |
| gfx::Rect targetSurfaceRect = gfx::Rect(gfx::Point(0, 0), gfx::Size(100, 100)); |
| - WebTransformationMatrix layerToSurfaceTransform; |
| + Transform layerToSurfaceTransform; |
| // Case 1: Layer is contained within the surface. |
| gfx::Rect layerContentRect = gfx::Rect(gfx::Point(10, 10), gfx::Size(30, 30)); |
| @@ -1835,24 +1835,24 @@ TEST(LayerTreeHostCommonTest, verifyVisibleRectForTranslations) |
| gfx::Rect targetSurfaceRect = gfx::Rect(gfx::Point(0, 0), gfx::Size(100, 100)); |
| gfx::Rect layerContentRect = gfx::Rect(gfx::Point(0, 0), gfx::Size(30, 30)); |
| - WebTransformationMatrix layerToSurfaceTransform; |
| + Transform layerToSurfaceTransform; |
| // Case 1: Layer is contained within the surface. |
| - layerToSurfaceTransform.makeIdentity(); |
| - layerToSurfaceTransform.translate(10, 10); |
| + layerToSurfaceTransform.matrix().setIdentity(); |
| + layerToSurfaceTransform.PreconcatTranslate(10, 10); |
| gfx::Rect expected = gfx::Rect(gfx::Point(0, 0), gfx::Size(30, 30)); |
| gfx::Rect actual = LayerTreeHostCommon::calculateVisibleRect(targetSurfaceRect, layerContentRect, layerToSurfaceTransform); |
| EXPECT_RECT_EQ(expected, actual); |
| // Case 2: Layer is outside the surface rect. |
| - layerToSurfaceTransform.makeIdentity(); |
| - layerToSurfaceTransform.translate(120, 120); |
| + layerToSurfaceTransform.matrix().setIdentity(); |
| + layerToSurfaceTransform.PreconcatTranslate(120, 120); |
| actual = LayerTreeHostCommon::calculateVisibleRect(targetSurfaceRect, layerContentRect, layerToSurfaceTransform); |
| EXPECT_TRUE(actual.IsEmpty()); |
| // Case 3: Layer is partially overlapping the surface rect. |
| - layerToSurfaceTransform.makeIdentity(); |
| - layerToSurfaceTransform.translate(80, 80); |
| + layerToSurfaceTransform.matrix().setIdentity(); |
| + layerToSurfaceTransform.PreconcatTranslate(80, 80); |
| expected = gfx::Rect(gfx::Point(0, 0), gfx::Size(20, 20)); |
| actual = LayerTreeHostCommon::calculateVisibleRect(targetSurfaceRect, layerContentRect, layerToSurfaceTransform); |
| EXPECT_RECT_EQ(expected, actual); |
| @@ -1865,20 +1865,20 @@ TEST(LayerTreeHostCommonTest, verifyVisibleRectFor2DRotations) |
| gfx::Rect targetSurfaceRect = gfx::Rect(gfx::Point(0, 0), gfx::Size(100, 100)); |
| gfx::Rect layerContentRect = gfx::Rect(gfx::Point(0, 0), gfx::Size(30, 30)); |
| - WebTransformationMatrix layerToSurfaceTransform; |
| + Transform layerToSurfaceTransform; |
| // Case 1: Layer is contained within the surface. |
| - layerToSurfaceTransform.makeIdentity(); |
| - layerToSurfaceTransform.translate(50, 50); |
| - layerToSurfaceTransform.rotate(45); |
| + layerToSurfaceTransform.matrix().setIdentity(); |
| + layerToSurfaceTransform.PreconcatTranslate(50, 50); |
| + layerToSurfaceTransform.PreconcatRotate(45); |
| gfx::Rect expected = gfx::Rect(gfx::Point(0, 0), gfx::Size(30, 30)); |
| gfx::Rect actual = LayerTreeHostCommon::calculateVisibleRect(targetSurfaceRect, layerContentRect, layerToSurfaceTransform); |
| EXPECT_RECT_EQ(expected, actual); |
| // Case 2: Layer is outside the surface rect. |
| - layerToSurfaceTransform.makeIdentity(); |
| - layerToSurfaceTransform.translate(-50, 0); |
| - layerToSurfaceTransform.rotate(45); |
| + layerToSurfaceTransform.matrix().setIdentity(); |
| + layerToSurfaceTransform.PreconcatTranslate(-50, 0); |
| + layerToSurfaceTransform.PreconcatRotate(45); |
| actual = LayerTreeHostCommon::calculateVisibleRect(targetSurfaceRect, layerContentRect, layerToSurfaceTransform); |
| EXPECT_TRUE(actual.IsEmpty()); |
| @@ -1887,8 +1887,8 @@ TEST(LayerTreeHostCommonTest, verifyVisibleRectFor2DRotations) |
| // this case, the visible rect should still be the entire layer (remember the |
| // visible rect is computed in layer space); both the top-left and |
| // bottom-right corners of the layer are still visible. |
| - layerToSurfaceTransform.makeIdentity(); |
| - layerToSurfaceTransform.rotate(45); |
| + layerToSurfaceTransform.matrix().setIdentity(); |
| + layerToSurfaceTransform.PreconcatRotate(45); |
| expected = gfx::Rect(gfx::Point(0, 0), gfx::Size(30, 30)); |
| actual = LayerTreeHostCommon::calculateVisibleRect(targetSurfaceRect, layerContentRect, layerToSurfaceTransform); |
| EXPECT_RECT_EQ(expected, actual); |
| @@ -1898,9 +1898,9 @@ TEST(LayerTreeHostCommonTest, verifyVisibleRectFor2DRotations) |
| // of the surface overlapping the layer. In layer space, the render surface |
| // overlaps the right side of the layer. The visible rect should be the |
| // layer's right half. |
| - layerToSurfaceTransform.makeIdentity(); |
| - layerToSurfaceTransform.translate(0, -sqrt(2.0) * 15); |
| - layerToSurfaceTransform.rotate(45); |
| + layerToSurfaceTransform.matrix().setIdentity(); |
| + layerToSurfaceTransform.PreconcatTranslate(0, -sqrt(2.0) * 15); |
| + layerToSurfaceTransform.PreconcatRotate(45); |
| expected = gfx::Rect(gfx::Point(15, 0), gfx::Size(15, 30)); // right half of layer bounds. |
| actual = LayerTreeHostCommon::calculateVisibleRect(targetSurfaceRect, layerContentRect, layerToSurfaceTransform); |
| EXPECT_RECT_EQ(expected, actual); |
| @@ -1912,11 +1912,11 @@ TEST(LayerTreeHostCommonTest, verifyVisibleRectFor3dOrthographicTransform) |
| gfx::Rect targetSurfaceRect = gfx::Rect(gfx::Point(0, 0), gfx::Size(100, 100)); |
| gfx::Rect layerContentRect = gfx::Rect(gfx::Point(0, 0), gfx::Size(100, 100)); |
| - WebTransformationMatrix layerToSurfaceTransform; |
| + Transform layerToSurfaceTransform; |
| // Case 1: Orthographic projection of a layer rotated about y-axis by 45 degrees, should be fully contained in the renderSurface. |
| - layerToSurfaceTransform.makeIdentity(); |
| - layerToSurfaceTransform.rotate3d(0, 45, 0); |
| + layerToSurfaceTransform.matrix().setIdentity(); |
| + MathUtil::rotateEulerAngles(&layerToSurfaceTransform, 0, 45, 0); |
| gfx::Rect expected = gfx::Rect(gfx::Point(0, 0), gfx::Size(100, 100)); |
| gfx::Rect actual = LayerTreeHostCommon::calculateVisibleRect(targetSurfaceRect, layerContentRect, layerToSurfaceTransform); |
| EXPECT_RECT_EQ(expected, actual); |
| @@ -1925,9 +1925,9 @@ TEST(LayerTreeHostCommonTest, verifyVisibleRectFor3dOrthographicTransform) |
| // shifted to the side so only the right-half the layer would be visible on |
| // the surface. |
| double halfWidthOfRotatedLayer = (100 / sqrt(2.0)) * 0.5; // 100 is the un-rotated layer width; divided by sqrt(2) is the rotated width. |
| - layerToSurfaceTransform.makeIdentity(); |
| - layerToSurfaceTransform.translate(-halfWidthOfRotatedLayer, 0); |
| - layerToSurfaceTransform.rotate3d(0, 45, 0); // rotates about the left edge of the layer |
| + layerToSurfaceTransform.matrix().setIdentity(); |
| + layerToSurfaceTransform.PreconcatTranslate(-halfWidthOfRotatedLayer, 0); |
| + MathUtil::rotateEulerAngles(&layerToSurfaceTransform, 0, 45, 0); // rotates about the left edge of the layer |
| expected = gfx::Rect(gfx::Point(50, 0), gfx::Size(50, 100)); // right half of the layer. |
| actual = LayerTreeHostCommon::calculateVisibleRect(targetSurfaceRect, layerContentRect, layerToSurfaceTransform); |
| EXPECT_RECT_EQ(expected, actual); |
| @@ -1940,20 +1940,20 @@ TEST(LayerTreeHostCommonTest, verifyVisibleRectFor3dPerspectiveTransform) |
| gfx::Rect targetSurfaceRect = gfx::Rect(gfx::Point(0, 0), gfx::Size(100, 100)); |
| gfx::Rect layerContentRect = gfx::Rect(gfx::Point(-50, -50), gfx::Size(200, 200)); |
| - WebTransformationMatrix layerToSurfaceTransform; |
| + Transform layerToSurfaceTransform; |
| // Case 1: Even though the layer is twice as large as the surface, due to perspective |
| // foreshortening, the layer will fit fully in the surface when its translated |
| // more than the perspective amount. |
| - layerToSurfaceTransform.makeIdentity(); |
| + layerToSurfaceTransform.matrix().setIdentity(); |
| // The following sequence of transforms applies the perspective about the center of the surface. |
| - layerToSurfaceTransform.translate(50, 50); |
| - layerToSurfaceTransform.applyPerspective(9); |
| - layerToSurfaceTransform.translate(-50, -50); |
| + layerToSurfaceTransform.PreconcatTranslate(50, 50); |
| + layerToSurfaceTransform.PreconcatPerspectiveDepth(9); |
| + layerToSurfaceTransform.PreconcatTranslate(-50, -50); |
| // This translate places the layer in front of the surface's projection plane. |
| - layerToSurfaceTransform.translate3d(0, 0, -27); |
| + layerToSurfaceTransform.PreconcatTranslate3d(0, 0, -27); |
| gfx::Rect expected = gfx::Rect(gfx::Point(-50, -50), gfx::Size(200, 200)); |
| gfx::Rect actual = LayerTreeHostCommon::calculateVisibleRect(targetSurfaceRect, layerContentRect, layerToSurfaceTransform); |
| @@ -1967,7 +1967,7 @@ TEST(LayerTreeHostCommonTest, verifyVisibleRectFor3dPerspectiveTransform) |
| // Then, by similar triangles, if we want to move a layer by translating -50 units in projected surface units (so that only half of it is |
| // visible), then we would need to translate by (-36 / 9) * -50 == -200 in the layer's units. |
| // |
| - layerToSurfaceTransform.translate3d(-200, 0, 0); |
| + layerToSurfaceTransform.PreconcatTranslate3d(-200, 0, 0); |
| expected = gfx::Rect(gfx::Point(50, -50), gfx::Size(100, 200)); // The right half of the layer's bounding rect. |
| actual = LayerTreeHostCommon::calculateVisibleRect(targetSurfaceRect, layerContentRect, layerToSurfaceTransform); |
| EXPECT_RECT_EQ(expected, actual); |
| @@ -1982,14 +1982,14 @@ TEST(LayerTreeHostCommonTest, verifyVisibleRectFor3dOrthographicIsNotClippedBehi |
| gfx::Rect targetSurfaceRect = gfx::Rect(gfx::Point(0, 0), gfx::Size(100, 100)); |
| gfx::Rect layerContentRect = gfx::Rect(gfx::Point(0, 0), gfx::Size(100, 100)); |
| - WebTransformationMatrix layerToSurfaceTransform; |
| + Transform layerToSurfaceTransform; |
| // This sequence of transforms effectively rotates the layer about the y-axis at the |
| // center of the layer. |
| - layerToSurfaceTransform.makeIdentity(); |
| - layerToSurfaceTransform.translate(50, 0); |
| - layerToSurfaceTransform.rotate3d(0, 45, 0); |
| - layerToSurfaceTransform.translate(-50, 0); |
| + layerToSurfaceTransform.matrix().setIdentity(); |
| + layerToSurfaceTransform.PreconcatTranslate(50, 0); |
| + MathUtil::rotateEulerAngles(&layerToSurfaceTransform, 0, 45, 0); |
| + layerToSurfaceTransform.PreconcatTranslate(-50, 0); |
| gfx::Rect expected = gfx::Rect(gfx::Point(0, 0), gfx::Size(100, 100)); |
| gfx::Rect actual = LayerTreeHostCommon::calculateVisibleRect(targetSurfaceRect, layerContentRect, layerToSurfaceTransform); |
| @@ -2006,16 +2006,16 @@ TEST(LayerTreeHostCommonTest, verifyVisibleRectFor3dPerspectiveWhenClippedByW) |
| gfx::Rect targetSurfaceRect = gfx::Rect(gfx::Point(-50, -50), gfx::Size(100, 100)); |
| gfx::Rect layerContentRect = gfx::Rect(gfx::Point(-10, -1), gfx::Size(20, 2)); |
| - WebTransformationMatrix layerToSurfaceTransform; |
| + Transform layerToSurfaceTransform; |
| // The layer is positioned so that the right half of the layer should be in front of |
| // the camera, while the other half is behind the surface's projection plane. The |
| // following sequence of transforms applies the perspective and rotation about the |
| // center of the layer. |
| - layerToSurfaceTransform.makeIdentity(); |
| - layerToSurfaceTransform.applyPerspective(1); |
| - layerToSurfaceTransform.translate3d(-2, 0, 1); |
| - layerToSurfaceTransform.rotate3d(0, 45, 0); |
| + layerToSurfaceTransform.matrix().setIdentity(); |
| + layerToSurfaceTransform.PreconcatPerspectiveDepth(1); |
| + layerToSurfaceTransform.PreconcatTranslate3d(-2, 0, 1); |
| + MathUtil::rotateEulerAngles(&layerToSurfaceTransform, 0, 45, 0); |
| // Sanity check that this transform does indeed cause w < 0 when applying the |
| // transform, otherwise this code is not testing the intended scenario. |
| @@ -2040,18 +2040,18 @@ TEST(LayerTreeHostCommonTest, verifyVisibleRectForPerspectiveUnprojection) |
| // This sequence of transforms causes one corner of the layer to protrude across the w = 0 plane, and should be clipped. |
| gfx::Rect targetSurfaceRect = gfx::Rect(gfx::Point(-50, -50), gfx::Size(100, 100)); |
| gfx::Rect layerContentRect = gfx::Rect(gfx::Point(-10, -10), gfx::Size(20, 20)); |
| - WebTransformationMatrix layerToSurfaceTransform; |
| - layerToSurfaceTransform.makeIdentity(); |
| - layerToSurfaceTransform.applyPerspective(1); |
| - layerToSurfaceTransform.translate3d(0, 0, -5); |
| - layerToSurfaceTransform.rotate3d(0, 45, 0); |
| - layerToSurfaceTransform.rotate3d(80, 0, 0); |
| + Transform layerToSurfaceTransform; |
| + layerToSurfaceTransform.matrix().setIdentity(); |
| + layerToSurfaceTransform.PreconcatPerspectiveDepth(1); |
| + layerToSurfaceTransform.PreconcatTranslate3d(0, 0, -5); |
| + MathUtil::rotateEulerAngles(&layerToSurfaceTransform, 0, 45, 0); |
| + MathUtil::rotateEulerAngles(&layerToSurfaceTransform, 80, 0, 0); |
| // Sanity check that un-projection does indeed cause w < 0, otherwise this code is not |
| // testing the intended scenario. |
| bool clipped = false; |
| gfx::RectF clippedRect = MathUtil::mapClippedRect(layerToSurfaceTransform, layerContentRect); |
| - MathUtil::projectQuad(layerToSurfaceTransform.inverse(), gfx::QuadF(clippedRect), clipped); |
| + MathUtil::projectQuad(MathUtil::inverse(layerToSurfaceTransform), gfx::QuadF(clippedRect), clipped); |
| ASSERT_TRUE(clipped); |
| // Only the corner of the layer is not visible on the surface because of being |
| @@ -2072,7 +2072,7 @@ TEST(LayerTreeHostCommonTest, verifyDrawableAndVisibleContentRectsForSimpleLayer |
| root->addChild(child2); |
| root->addChild(child3); |
| - WebTransformationMatrix identityMatrix; |
| + Transform identityMatrix; |
| setLayerPropertiesForTesting(root.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(100, 100), false); |
| setLayerPropertiesForTesting(child1.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(50, 50), false); |
| setLayerPropertiesForTesting(child2.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(75, 75), gfx::Size(50, 50), false); |
| @@ -2109,7 +2109,7 @@ TEST(LayerTreeHostCommonTest, verifyDrawableAndVisibleContentRectsForLayersClipp |
| child->addChild(grandChild2); |
| child->addChild(grandChild3); |
| - WebTransformationMatrix identityMatrix; |
| + Transform identityMatrix; |
| setLayerPropertiesForTesting(root.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(100, 100), false); |
| setLayerPropertiesForTesting(child.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(100, 100), false); |
| setLayerPropertiesForTesting(grandChild1.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(5, 5), gfx::Size(50, 50), false); |
| @@ -2151,7 +2151,7 @@ TEST(LayerTreeHostCommonTest, verifyDrawableAndVisibleContentRectsForLayersInUnc |
| renderSurface1->addChild(child2); |
| renderSurface1->addChild(child3); |
| - WebTransformationMatrix identityMatrix; |
| + Transform identityMatrix; |
| setLayerPropertiesForTesting(root.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(100, 100), false); |
| setLayerPropertiesForTesting(renderSurface1.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(3, 4), false); |
| setLayerPropertiesForTesting(child1.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(5, 5), gfx::Size(50, 50), false); |
| @@ -2195,7 +2195,7 @@ TEST(LayerTreeHostCommonTest, verifyDrawableAndVisibleContentRectsForLayersInCli |
| renderSurface1->addChild(child2); |
| renderSurface1->addChild(child3); |
| - WebTransformationMatrix identityMatrix; |
| + Transform identityMatrix; |
| setLayerPropertiesForTesting(root.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(100, 100), false); |
| setLayerPropertiesForTesting(renderSurface1.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(3, 4), false); |
| setLayerPropertiesForTesting(child1.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(5, 5), gfx::Size(50, 50), false); |
| @@ -2245,7 +2245,7 @@ TEST(LayerTreeHostCommonTest, verifyDrawableAndVisibleContentRectsForSurfaceHier |
| renderSurface2->addChild(child2); |
| renderSurface2->addChild(child3); |
| - WebTransformationMatrix identityMatrix; |
| + Transform identityMatrix; |
| setLayerPropertiesForTesting(root.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(100, 100), false); |
| setLayerPropertiesForTesting(renderSurface1.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(3, 4), false); |
| setLayerPropertiesForTesting(renderSurface2.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(7, 13), false); |
| @@ -2300,9 +2300,9 @@ TEST(LayerTreeHostCommonTest, verifyDrawableAndVisibleContentRectsWithTransformO |
| root->addChild(renderSurface1); |
| renderSurface1->addChild(child1); |
| - WebTransformationMatrix identityMatrix; |
| - WebTransformationMatrix childRotation; |
| - childRotation.rotate(45); |
| + Transform identityMatrix; |
| + Transform childRotation; |
| + childRotation.PreconcatRotate(45); |
| setLayerPropertiesForTesting(root.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(100, 100), false); |
| setLayerPropertiesForTesting(renderSurface1.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(3, 4), false); |
| setLayerPropertiesForTesting(child1.get(), childRotation, identityMatrix, gfx::PointF(0.5, 0.5), gfx::PointF(25, 25), gfx::Size(50, 50), false); |
| @@ -2340,9 +2340,9 @@ TEST(LayerTreeHostCommonTest, verifyDrawableAndVisibleContentRectsWithTransformO |
| root->addChild(renderSurface1); |
| renderSurface1->addChild(child1); |
| - WebTransformationMatrix identityMatrix; |
| - WebTransformationMatrix childRotation; |
| - childRotation.rotate(45); |
| + Transform identityMatrix; |
| + Transform childRotation; |
| + childRotation.PreconcatRotate(45); |
| setLayerPropertiesForTesting(root.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(50, 50), false); |
| setLayerPropertiesForTesting(renderSurface1.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(3, 4), false); |
| setLayerPropertiesForTesting(child1.get(), childRotation, identityMatrix, gfx::PointF(0.5, 0.5), gfx::PointF(25, 25), gfx::Size(50, 50), false); |
| @@ -2384,7 +2384,7 @@ TEST(LayerTreeHostCommonTest, verifyDrawableAndVisibleContentRectsInHighDPI) |
| renderSurface2->addChild(child2); |
| renderSurface2->addChild(child3); |
| - WebTransformationMatrix identityMatrix; |
| + Transform identityMatrix; |
| setLayerPropertiesForTesting(root.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(100, 100), false); |
| setLayerPropertiesForTesting(renderSurface1.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(5, 5), gfx::Size(3, 4), false); |
| setLayerPropertiesForTesting(renderSurface2.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(5, 5), gfx::Size(7, 13), false); |
| @@ -2439,7 +2439,7 @@ TEST(LayerTreeHostCommonTest, verifyBackFaceCullingWithoutPreserves3d) |
| // that 3d transforms still apply in this case, but they are "flattened" to each |
| // parent layer according to current W3C spec. |
| - const WebTransformationMatrix identityMatrix; |
| + const Transform identityMatrix; |
| scoped_refptr<Layer> parent = Layer::create(); |
| scoped_refptr<LayerWithForcedDrawsContent> frontFacingChild = make_scoped_refptr(new LayerWithForcedDrawsContent()); |
| scoped_refptr<LayerWithForcedDrawsContent> backFacingChild = make_scoped_refptr(new LayerWithForcedDrawsContent()); |
| @@ -2469,10 +2469,10 @@ TEST(LayerTreeHostCommonTest, verifyBackFaceCullingWithoutPreserves3d) |
| frontFacingChildOfBackFacingSurface->setDoubleSided(false); |
| backFacingChildOfBackFacingSurface->setDoubleSided(false); |
| - WebTransformationMatrix backfaceMatrix; |
| - backfaceMatrix.translate(50, 50); |
| - backfaceMatrix.rotate3d(0, 1, 0, 180); |
| - backfaceMatrix.translate(-50, -50); |
| + Transform backfaceMatrix; |
| + backfaceMatrix.PreconcatTranslate(50, 50); |
| + MathUtil::rotateAxisAngle(&backfaceMatrix, 0, 1, 0, 180); |
| + backfaceMatrix.PreconcatTranslate(-50, -50); |
| // Having a descendant and opacity will force these to have render surfaces. |
| frontFacingSurface->setOpacity(0.5); |
| @@ -2531,7 +2531,7 @@ TEST(LayerTreeHostCommonTest, verifyBackFaceCullingWithPreserves3d) |
| { |
| // Verify the behavior of back-face culling when preserves-3d transform style is used. |
| - const WebTransformationMatrix identityMatrix; |
| + const Transform identityMatrix; |
| scoped_refptr<Layer> parent = Layer::create(); |
| scoped_refptr<LayerWithForcedDrawsContent> frontFacingChild = make_scoped_refptr(new LayerWithForcedDrawsContent()); |
| scoped_refptr<LayerWithForcedDrawsContent> backFacingChild = make_scoped_refptr(new LayerWithForcedDrawsContent()); |
| @@ -2563,10 +2563,10 @@ TEST(LayerTreeHostCommonTest, verifyBackFaceCullingWithPreserves3d) |
| frontFacingChildOfBackFacingSurface->setDoubleSided(false); |
| backFacingChildOfBackFacingSurface->setDoubleSided(false); |
| - WebTransformationMatrix backfaceMatrix; |
| - backfaceMatrix.translate(50, 50); |
| - backfaceMatrix.rotate3d(0, 1, 0, 180); |
| - backfaceMatrix.translate(-50, -50); |
| + Transform backfaceMatrix; |
| + backfaceMatrix.PreconcatTranslate(50, 50); |
| + MathUtil::rotateAxisAngle(&backfaceMatrix, 0, 1, 0, 180); |
| + backfaceMatrix.PreconcatTranslate(-50, -50); |
| // Opacity will not force creation of renderSurfaces in this case because of the |
| // preserve-3d transform style. Instead, an example of when a surface would be |
| @@ -2628,7 +2628,7 @@ TEST(LayerTreeHostCommonTest, verifyBackFaceCullingWithAnimatingTransforms) |
| // treated as "unknown" so we can not be sure that their back face is really showing. |
| // |
| - const WebTransformationMatrix identityMatrix; |
| + const Transform identityMatrix; |
| scoped_refptr<Layer> parent = Layer::create(); |
| scoped_refptr<LayerWithForcedDrawsContent> child = make_scoped_refptr(new LayerWithForcedDrawsContent()); |
| scoped_refptr<LayerWithForcedDrawsContent> animatingSurface = make_scoped_refptr(new LayerWithForcedDrawsContent()); |
| @@ -2649,10 +2649,10 @@ TEST(LayerTreeHostCommonTest, verifyBackFaceCullingWithAnimatingTransforms) |
| childOfAnimatingSurface->setDoubleSided(false); |
| animatingChild->setDoubleSided(false); |
| - WebTransformationMatrix backfaceMatrix; |
| - backfaceMatrix.translate(50, 50); |
| - backfaceMatrix.rotate3d(0, 1, 0, 180); |
| - backfaceMatrix.translate(-50, -50); |
| + Transform backfaceMatrix; |
| + backfaceMatrix.PreconcatTranslate(50, 50); |
| + MathUtil::rotateAxisAngle(&backfaceMatrix, 0, 1, 0, 180); |
| + backfaceMatrix.PreconcatTranslate(-50, -50); |
| // Make our render surface. |
| animatingSurface->setForceRenderSurface(true); |
| @@ -2708,7 +2708,7 @@ TEST(LayerTreeHostCommonTest, verifyBackFaceCullingWithPreserves3dForFlatteningS |
| // Verify the behavior of back-face culling for a renderSurface that is created |
| // when it flattens its subtree, and its parent has preserves-3d. |
| - const WebTransformationMatrix identityMatrix; |
| + const Transform identityMatrix; |
| scoped_refptr<Layer> parent = Layer::create(); |
| scoped_refptr<LayerWithForcedDrawsContent> frontFacingSurface = make_scoped_refptr(new LayerWithForcedDrawsContent()); |
| scoped_refptr<LayerWithForcedDrawsContent> backFacingSurface = make_scoped_refptr(new LayerWithForcedDrawsContent()); |
| @@ -2724,10 +2724,10 @@ TEST(LayerTreeHostCommonTest, verifyBackFaceCullingWithPreserves3dForFlatteningS |
| frontFacingSurface->setDoubleSided(false); |
| backFacingSurface->setDoubleSided(false); |
| - WebTransformationMatrix backfaceMatrix; |
| - backfaceMatrix.translate(50, 50); |
| - backfaceMatrix.rotate3d(0, 1, 0, 180); |
| - backfaceMatrix.translate(-50, -50); |
| + Transform backfaceMatrix; |
| + backfaceMatrix.PreconcatTranslate(50, 50); |
| + MathUtil::rotateAxisAngle(&backfaceMatrix, 0, 1, 0, 180); |
| + backfaceMatrix.PreconcatTranslate(-50, -50); |
| setLayerPropertiesForTesting(parent.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(100, 100), true); // parent transform style is preserve3d. |
| setLayerPropertiesForTesting(frontFacingSurface.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(100, 100), false); // surface transform style is flat. |
| @@ -2778,7 +2778,7 @@ TEST(LayerTreeHostCommonTest, verifyHitTestingForSingleLayer) |
| { |
| scoped_ptr<LayerImpl> root = LayerImpl::create(12345); |
| - WebTransformationMatrix identityMatrix; |
| + Transform identityMatrix; |
| gfx::PointF anchor(0, 0); |
| gfx::PointF position(0, 0); |
| gfx::Size bounds(100, 100); |
| @@ -2818,14 +2818,14 @@ TEST(LayerTreeHostCommonTest, verifyHitTestingForUninvertibleTransform) |
| { |
| scoped_ptr<LayerImpl> root = LayerImpl::create(12345); |
| - WebTransformationMatrix uninvertibleTransform; |
| - uninvertibleTransform.setM11(0); |
| - uninvertibleTransform.setM22(0); |
| - uninvertibleTransform.setM33(0); |
| - uninvertibleTransform.setM44(0); |
| - ASSERT_FALSE(uninvertibleTransform.isInvertible()); |
| + Transform uninvertibleTransform; |
| + uninvertibleTransform.matrix().setDouble(0, 0, 0); |
| + uninvertibleTransform.matrix().setDouble(1, 1, 0); |
| + uninvertibleTransform.matrix().setDouble(2, 2, 0); |
| + uninvertibleTransform.matrix().setDouble(3, 3, 0); |
| + ASSERT_FALSE(uninvertibleTransform.IsInvertible()); |
| - WebTransformationMatrix identityMatrix; |
| + Transform identityMatrix; |
| gfx::PointF anchor(0, 0); |
| gfx::PointF position(0, 0); |
| gfx::Size bounds(100, 100); |
| @@ -2839,7 +2839,7 @@ TEST(LayerTreeHostCommonTest, verifyHitTestingForUninvertibleTransform) |
| // Sanity check the scenario we just created. |
| ASSERT_EQ(1u, renderSurfaceLayerList.size()); |
| ASSERT_EQ(1u, root->renderSurface()->layerList().size()); |
| - ASSERT_FALSE(root->screenSpaceTransform().isInvertible()); |
| + ASSERT_FALSE(root->screenSpaceTransform().IsInvertible()); |
| // Hit testing any point should not hit the layer. If the invertible matrix is |
| // accidentally ignored and treated like an identity, then the hit testing will |
| @@ -2877,7 +2877,7 @@ TEST(LayerTreeHostCommonTest, verifyHitTestingForSinglePositionedLayer) |
| { |
| scoped_ptr<LayerImpl> root = LayerImpl::create(12345); |
| - WebTransformationMatrix identityMatrix; |
| + Transform identityMatrix; |
| gfx::PointF anchor(0, 0); |
| gfx::PointF position(50, 50); // this layer is positioned, and hit testing should correctly know where the layer is located. |
| gfx::Size bounds(100, 100); |
| @@ -2918,11 +2918,11 @@ TEST(LayerTreeHostCommonTest, verifyHitTestingForSingleRotatedLayer) |
| { |
| scoped_ptr<LayerImpl> root = LayerImpl::create(12345); |
| - WebTransformationMatrix identityMatrix; |
| - WebTransformationMatrix rotation45DegreesAboutCenter; |
| - rotation45DegreesAboutCenter.translate(50, 50); |
| - rotation45DegreesAboutCenter.rotate3d(0, 0, 45); |
| - rotation45DegreesAboutCenter.translate(-50, -50); |
| + Transform identityMatrix; |
| + Transform rotation45DegreesAboutCenter; |
| + rotation45DegreesAboutCenter.PreconcatTranslate(50, 50); |
| + MathUtil::rotateEulerAngles(&rotation45DegreesAboutCenter, 0, 0, 45); |
| + rotation45DegreesAboutCenter.PreconcatTranslate(-50, -50); |
| gfx::PointF anchor(0, 0); |
| gfx::PointF position(0, 0); |
| gfx::Size bounds(100, 100); |
| @@ -2967,15 +2967,15 @@ TEST(LayerTreeHostCommonTest, verifyHitTestingForSinglePerspectiveLayer) |
| { |
| scoped_ptr<LayerImpl> root = LayerImpl::create(12345); |
| - WebTransformationMatrix identityMatrix; |
| + Transform identityMatrix; |
| // perspectiveProjectionAboutCenter * translationByZ is designed so that the 100 x 100 layer becomes 50 x 50, and remains centered at (50, 50). |
| - WebTransformationMatrix perspectiveProjectionAboutCenter; |
| - perspectiveProjectionAboutCenter.translate(50, 50); |
| - perspectiveProjectionAboutCenter.applyPerspective(1); |
| - perspectiveProjectionAboutCenter.translate(-50, -50); |
| - WebTransformationMatrix translationByZ; |
| - translationByZ.translate3d(0, 0, -1); |
| + Transform perspectiveProjectionAboutCenter; |
| + perspectiveProjectionAboutCenter.PreconcatTranslate(50, 50); |
| + perspectiveProjectionAboutCenter.PreconcatPerspectiveDepth(1); |
| + perspectiveProjectionAboutCenter.PreconcatTranslate(-50, -50); |
| + Transform translationByZ; |
| + translationByZ.PreconcatTranslate3d(0, 0, -1); |
| gfx::PointF anchor(0, 0); |
| gfx::PointF position(0, 0); |
| @@ -3027,7 +3027,7 @@ TEST(LayerTreeHostCommonTest, verifyHitTestingForSingleLayerWithScaledContents) |
| // |
| scoped_ptr<LayerImpl> root = LayerImpl::create(1); |
| - WebTransformationMatrix identityMatrix; |
| + Transform identityMatrix; |
| gfx::PointF anchor(0, 0); |
| setLayerPropertiesForTesting(root.get(), identityMatrix, identityMatrix, anchor, gfx::PointF(0, 0), gfx::Size(100, 100), false); |
| @@ -3086,7 +3086,7 @@ TEST(LayerTreeHostCommonTest, verifyHitTestingForSimpleClippedLayer) |
| { |
| // Test that hit-testing will only work for the visible portion of a layer, and not |
| // the entire layer bounds. Here we just test the simple axis-aligned case. |
| - WebTransformationMatrix identityMatrix; |
| + Transform identityMatrix; |
| gfx::PointF anchor(0, 0); |
| scoped_ptr<LayerImpl> root = LayerImpl::create(1); |
| @@ -3154,7 +3154,7 @@ TEST(LayerTreeHostCommonTest, verifyHitTestingForMultiClippedRotatedLayer) |
| // |
| scoped_ptr<LayerImpl> root = LayerImpl::create(123); |
| - WebTransformationMatrix identityMatrix; |
| + Transform identityMatrix; |
| gfx::PointF anchor(0, 0); |
| gfx::PointF position(0, 0); |
| gfx::Size bounds(100, 100); |
| @@ -3171,8 +3171,8 @@ TEST(LayerTreeHostCommonTest, verifyHitTestingForMultiClippedRotatedLayer) |
| setLayerPropertiesForTesting(child.get(), identityMatrix, identityMatrix, anchor, position, bounds, false); |
| child->setMasksToBounds(true); |
| - WebTransformationMatrix rotation45DegreesAboutCorner; |
| - rotation45DegreesAboutCorner.rotate3d(0, 0, 45); |
| + Transform rotation45DegreesAboutCorner; |
| + MathUtil::rotateEulerAngles(&rotation45DegreesAboutCorner, 0, 0, 45); |
| position = gfx::PointF(0, 0); // remember, positioned with respect to its parent which is already at 10, 10 |
| bounds = gfx::Size(200, 200); // to ensure it covers at least sqrt(2) * 100. |
| @@ -3180,12 +3180,12 @@ TEST(LayerTreeHostCommonTest, verifyHitTestingForMultiClippedRotatedLayer) |
| grandChild->setMasksToBounds(true); |
| // Rotates about the center of the layer |
| - WebTransformationMatrix rotatedLeafTransform; |
| - rotatedLeafTransform.translate(-10, -10); // cancel out the grandParent's position |
| - rotatedLeafTransform.rotate3d(0, 0, -45); // cancel out the corner 45-degree rotation of the parent. |
| - rotatedLeafTransform.translate(50, 50); |
| - rotatedLeafTransform.rotate3d(0, 0, 45); |
| - rotatedLeafTransform.translate(-50, -50); |
| + Transform rotatedLeafTransform; |
| + rotatedLeafTransform.PreconcatTranslate(-10, -10); // cancel out the grandParent's position |
| + MathUtil::rotateEulerAngles(&rotatedLeafTransform, 0, 0, -45); // cancel out the corner 45-degree rotation of the parent. |
| + rotatedLeafTransform.PreconcatTranslate(50, 50); |
| + MathUtil::rotateEulerAngles(&rotatedLeafTransform, 0, 0, 45); |
| + rotatedLeafTransform.PreconcatTranslate(-50, -50); |
| position = gfx::PointF(0, 0); |
| bounds = gfx::Size(100, 100); |
| setLayerPropertiesForTesting(rotatedLeaf.get(), rotatedLeafTransform, identityMatrix, anchor, position, bounds, false); |
| @@ -3250,7 +3250,7 @@ TEST(LayerTreeHostCommonTest, verifyHitTestingForNonClippingIntermediateLayer) |
| { |
| // This test checks that hit testing code does not accidentally clip to layer |
| // bounds for a layer that actually does not clip. |
| - WebTransformationMatrix identityMatrix; |
| + Transform identityMatrix; |
| gfx::PointF anchor(0, 0); |
| scoped_ptr<LayerImpl> root = LayerImpl::create(1); |
| @@ -3311,7 +3311,7 @@ TEST(LayerTreeHostCommonTest, verifyHitTestingForMultipleLayers) |
| { |
| scoped_ptr<LayerImpl> root = LayerImpl::create(1); |
| - WebTransformationMatrix identityMatrix; |
| + Transform identityMatrix; |
| gfx::PointF anchor(0, 0); |
| gfx::PointF position(0, 0); |
| gfx::Size bounds(100, 100); |
| @@ -3414,7 +3414,7 @@ TEST(LayerTreeHostCommonTest, verifyHitTestingForMultipleLayerLists) |
| // |
| scoped_ptr<LayerImpl> root = LayerImpl::create(1); |
| - WebTransformationMatrix identityMatrix; |
| + Transform identityMatrix; |
| gfx::PointF anchor(0, 0); |
| gfx::PointF position(0, 0); |
| gfx::Size bounds(100, 100); |
| @@ -3536,7 +3536,7 @@ TEST(LayerTreeHostCommonTest, verifyHitCheckingTouchHandlerRegionsForSingleLayer |
| { |
| scoped_ptr<LayerImpl> root = LayerImpl::create(12345); |
| - WebTransformationMatrix identityMatrix; |
| + Transform identityMatrix; |
| Region touchHandlerRegion(gfx::Rect(10, 10, 50, 50)); |
| gfx::PointF anchor(0, 0); |
| gfx::PointF position(0, 0); |
| @@ -3592,14 +3592,14 @@ TEST(LayerTreeHostCommonTest, verifyHitCheckingTouchHandlerRegionsForUninvertibl |
| { |
| scoped_ptr<LayerImpl> root = LayerImpl::create(12345); |
| - WebTransformationMatrix uninvertibleTransform; |
| - uninvertibleTransform.setM11(0); |
| - uninvertibleTransform.setM22(0); |
| - uninvertibleTransform.setM33(0); |
| - uninvertibleTransform.setM44(0); |
| - ASSERT_FALSE(uninvertibleTransform.isInvertible()); |
| + Transform uninvertibleTransform; |
| + uninvertibleTransform.matrix().setDouble(0, 0, 0); |
| + uninvertibleTransform.matrix().setDouble(1, 1, 0); |
| + uninvertibleTransform.matrix().setDouble(2, 2, 0); |
| + uninvertibleTransform.matrix().setDouble(3, 3, 0); |
| + ASSERT_FALSE(uninvertibleTransform.IsInvertible()); |
| - WebTransformationMatrix identityMatrix; |
| + Transform identityMatrix; |
| Region touchHandlerRegion(gfx::Rect(10, 10, 50, 50)); |
| gfx::PointF anchor(0, 0); |
| gfx::PointF position(0, 0); |
| @@ -3615,7 +3615,7 @@ TEST(LayerTreeHostCommonTest, verifyHitCheckingTouchHandlerRegionsForUninvertibl |
| // Sanity check the scenario we just created. |
| ASSERT_EQ(1u, renderSurfaceLayerList.size()); |
| ASSERT_EQ(1u, root->renderSurface()->layerList().size()); |
| - ASSERT_FALSE(root->screenSpaceTransform().isInvertible()); |
| + ASSERT_FALSE(root->screenSpaceTransform().IsInvertible()); |
| // Hit checking any point should not hit the touch handler region on the layer. If the invertible matrix is |
| // accidentally ignored and treated like an identity, then the hit testing will |
| @@ -3653,7 +3653,7 @@ TEST(LayerTreeHostCommonTest, verifyHitCheckingTouchHandlerRegionsForSinglePosit |
| { |
| scoped_ptr<LayerImpl> root = LayerImpl::create(12345); |
| - WebTransformationMatrix identityMatrix; |
| + Transform identityMatrix; |
| Region touchHandlerRegion(gfx::Rect(10, 10, 50, 50)); |
| gfx::PointF anchor(0, 0); |
| gfx::PointF position(50, 50); // this layer is positioned, and hit testing should correctly know where the layer is located. |
| @@ -3711,7 +3711,7 @@ TEST(LayerTreeHostCommonTest, verifyHitCheckingTouchHandlerRegionsForSingleLayer |
| // |
| scoped_ptr<LayerImpl> root = LayerImpl::create(1); |
| - WebTransformationMatrix identityMatrix; |
| + Transform identityMatrix; |
| gfx::PointF anchor(0, 0); |
| setLayerPropertiesForTesting(root.get(), identityMatrix, identityMatrix, anchor, gfx::PointF(0, 0), gfx::Size(100, 100), false); |
| @@ -3783,7 +3783,7 @@ TEST(LayerTreeHostCommonTest, verifyHitCheckingTouchHandlerRegionsForSingleLayer |
| // be able to hit the touch handler region by scaling the points accordingly. |
| scoped_ptr<LayerImpl> root = LayerImpl::create(1); |
| - WebTransformationMatrix identityMatrix; |
| + Transform identityMatrix; |
| gfx::PointF anchor(0, 0); |
| // Set the bounds of the root layer big enough to fit the child when scaled. |
| setLayerPropertiesForTesting(root.get(), identityMatrix, identityMatrix, anchor, gfx::PointF(0, 0), gfx::Size(100, 100), false); |
| @@ -3804,8 +3804,8 @@ TEST(LayerTreeHostCommonTest, verifyHitCheckingTouchHandlerRegionsForSingleLayer |
| int dummyMaxTextureSize = 512; |
| float deviceScaleFactor = 3.0f; |
| float pageScaleFactor = 5.0f; |
| - WebTransformationMatrix pageScaleTransform; |
| - pageScaleTransform.scale(pageScaleFactor); |
| + Transform pageScaleTransform; |
| + pageScaleTransform.PreconcatScale(pageScaleFactor, pageScaleFactor); |
| root->setImplTransform(pageScaleTransform); // Applying the pageScaleFactor through implTransform. |
| gfx::Size scaledBoundsForRoot = gfx::ToCeiledSize(gfx::ScaleSize(root->bounds(), deviceScaleFactor * pageScaleFactor)); |
| LayerTreeHostCommon::calculateDrawTransforms(root.get(), scaledBoundsForRoot, deviceScaleFactor, 1, 0, dummyMaxTextureSize, renderSurfaceLayerList); |
| @@ -3864,7 +3864,7 @@ TEST(LayerTreeHostCommonTest, verifyHitCheckingTouchHandlerRegionsForSimpleClipp |
| { |
| // Test that hit-checking will only work for the visible portion of a layer, and not |
| // the entire layer bounds. Here we just test the simple axis-aligned case. |
| - WebTransformationMatrix identityMatrix; |
| + Transform identityMatrix; |
| gfx::PointF anchor(0, 0); |
| scoped_ptr<LayerImpl> root = LayerImpl::create(1); |
| @@ -3949,7 +3949,7 @@ TEST(LayerTreeHostCommonTest, verifyLayerTransformsInHighDPI) |
| { |
| // Verify draw and screen space transforms of layers not in a surface. |
| MockContentLayerClient delegate; |
| - WebTransformationMatrix identityMatrix; |
| + Transform identityMatrix; |
| scoped_refptr<ContentLayer> parent = createDrawableContentLayer(&delegate); |
| setLayerPropertiesForTesting(parent.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(100, 100), true); |
| @@ -3983,7 +3983,7 @@ TEST(LayerTreeHostCommonTest, verifyLayerTransformsInHighDPI) |
| EXPECT_EQ(1u, renderSurfaceLayerList.size()); |
| // Verify parent transforms |
| - WebTransformationMatrix expectedParentTransform; |
| + Transform expectedParentTransform; |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedParentTransform, parent->screenSpaceTransform()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedParentTransform, parent->drawTransform()); |
| @@ -3999,8 +3999,8 @@ TEST(LayerTreeHostCommonTest, verifyLayerTransformsInHighDPI) |
| EXPECT_FLOAT_RECT_EQ(expectedParentDrawRect, parentScreenSpaceRect); |
| // Verify child and childEmpty transforms. They should match. |
| - WebTransformationMatrix expectedChildTransform; |
| - expectedChildTransform.translate(deviceScaleFactor * child->position().x(), deviceScaleFactor * child->position().y()); |
| + Transform expectedChildTransform; |
| + expectedChildTransform.PreconcatTranslate(deviceScaleFactor * child->position().x(), deviceScaleFactor * child->position().y()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedChildTransform, child->drawTransform()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedChildTransform, child->screenSpaceTransform()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedChildTransform, childEmpty->drawTransform()); |
| @@ -4023,10 +4023,10 @@ TEST(LayerTreeHostCommonTest, verifyLayerTransformsInHighDPI) |
| EXPECT_FLOAT_RECT_EQ(expectedChildDrawRect, childEmptyScreenSpaceRect); |
| // Verify childNoScale transforms |
| - WebTransformationMatrix expectedChildNoScaleTransform = child->drawTransform(); |
| + Transform expectedChildNoScaleTransform = child->drawTransform(); |
| // All transforms operate on content rects. The child's content rect |
| // incorporates device scale, but the childNoScale does not; add it here. |
| - expectedChildNoScaleTransform.scale(deviceScaleFactor); |
| + expectedChildNoScaleTransform.PreconcatScale(deviceScaleFactor, deviceScaleFactor); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedChildNoScaleTransform, childNoScale->drawTransform()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedChildNoScaleTransform, childNoScale->screenSpaceTransform()); |
| } |
| @@ -4035,7 +4035,7 @@ TEST(LayerTreeHostCommonTest, verifyLayerTransformsInHighDPIAccurateScaleZeroChi |
| { |
| // Verify draw and screen space transforms of layers not in a surface. |
| MockContentLayerClient delegate; |
| - WebTransformationMatrix identityMatrix; |
| + Transform identityMatrix; |
| scoped_refptr<ContentLayer> parent = createDrawableContentLayer(&delegate); |
| setLayerPropertiesForTesting(parent.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(133, 133), true); |
| @@ -4064,7 +4064,7 @@ TEST(LayerTreeHostCommonTest, verifyLayerTransformsInHighDPIAccurateScaleZeroChi |
| EXPECT_EQ(1u, renderSurfaceLayerList.size()); |
| // Verify parent transforms |
| - WebTransformationMatrix expectedParentTransform; |
| + Transform expectedParentTransform; |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedParentTransform, parent->screenSpaceTransform()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedParentTransform, parent->drawTransform()); |
| @@ -4082,7 +4082,7 @@ TEST(LayerTreeHostCommonTest, verifyLayerTransformsInHighDPIAccurateScaleZeroChi |
| EXPECT_FLOAT_RECT_EQ(expectedParentDrawRect, parentScreenSpaceRect); |
| // Verify child transforms |
| - WebTransformationMatrix expectedChildTransform; |
| + Transform expectedChildTransform; |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedChildTransform, child->drawTransform()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedChildTransform, child->screenSpaceTransform()); |
| @@ -4100,10 +4100,10 @@ TEST(LayerTreeHostCommonTest, verifyLayerTransformsInHighDPIAccurateScaleZeroChi |
| EXPECT_FLOAT_RECT_EQ(expectedChildDrawRect, childScreenSpaceRect); |
| // Verify childNoScale transforms |
| - WebTransformationMatrix expectedChildNoScaleTransform = child->drawTransform(); |
| + Transform expectedChildNoScaleTransform = child->drawTransform(); |
| // All transforms operate on content rects. The child's content rect |
| // incorporates device scale, but the childNoScale does not; add it here. |
| - expectedChildNoScaleTransform.scale(deviceScaleFactor); |
| + expectedChildNoScaleTransform.PreconcatScale(deviceScaleFactor, deviceScaleFactor); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedChildNoScaleTransform, childNoScale->drawTransform()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedChildNoScaleTransform, childNoScale->screenSpaceTransform()); |
| } |
| @@ -4111,15 +4111,15 @@ TEST(LayerTreeHostCommonTest, verifyLayerTransformsInHighDPIAccurateScaleZeroChi |
| TEST(LayerTreeHostCommonTest, verifyContentsScale) |
| { |
| MockContentLayerClient delegate; |
| - WebTransformationMatrix identityMatrix; |
| + Transform identityMatrix; |
| - WebTransformationMatrix parentScaleMatrix; |
| + Transform parentScaleMatrix; |
| const double initialParentScale = 1.75; |
| - parentScaleMatrix.scale(initialParentScale); |
| + parentScaleMatrix.PreconcatScale(initialParentScale, initialParentScale); |
| - WebTransformationMatrix childScaleMatrix; |
| + Transform childScaleMatrix; |
| const double initialChildScale = 1.25; |
| - childScaleMatrix.scale(initialChildScale); |
| + childScaleMatrix.PreconcatScale(initialChildScale, initialChildScale); |
| float fixedRasterScale = 2.5; |
| @@ -4156,8 +4156,8 @@ TEST(LayerTreeHostCommonTest, verifyContentsScale) |
| double pageScaleFactor = 1.5; |
| // FIXME: Remove this when pageScaleFactor is applied in the compositor. |
| - WebTransformationMatrix pageScaleMatrix; |
| - pageScaleMatrix.scale(pageScaleFactor); |
| + Transform pageScaleMatrix; |
| + pageScaleMatrix.PreconcatScale(pageScaleFactor, pageScaleFactor); |
| parent->setSublayerTransform(pageScaleMatrix); |
| LayerTreeHostCommon::calculateDrawTransforms(parent.get(), parent->bounds(), deviceScaleFactor, pageScaleFactor, dummyMaxTextureSize, renderSurfaceLayerList); |
| @@ -4170,16 +4170,16 @@ TEST(LayerTreeHostCommonTest, verifyContentsScale) |
| // The parent is scaled up and shouldn't need to scale during draw. The child that can scale its contents should |
| // also not need to scale during draw. This shouldn't change if the child has empty bounds. The other children should. |
| - EXPECT_FLOAT_EQ(1, parent->drawTransform().m11()); |
| - EXPECT_FLOAT_EQ(1, parent->drawTransform().m22()); |
| - EXPECT_FLOAT_EQ(1, childScale->drawTransform().m11()); |
| - EXPECT_FLOAT_EQ(1, childScale->drawTransform().m22()); |
| - EXPECT_FLOAT_EQ(1, childEmpty->drawTransform().m11()); |
| - EXPECT_FLOAT_EQ(1, childEmpty->drawTransform().m22()); |
| - EXPECT_FLOAT_EQ(deviceScaleFactor * pageScaleFactor * initialParentScale * initialChildScale, childNoScale->drawTransform().m11()); |
| - EXPECT_FLOAT_EQ(deviceScaleFactor * pageScaleFactor * initialParentScale * initialChildScale, childNoScale->drawTransform().m22()); |
| - EXPECT_FLOAT_EQ(initialParentScale * initialChildScale / fixedRasterScale, childNoAutoScale->drawTransform().m11()); |
| - EXPECT_FLOAT_EQ(initialParentScale * initialChildScale / fixedRasterScale, childNoAutoScale->drawTransform().m22()); |
| + EXPECT_FLOAT_EQ(1, parent->drawTransform().matrix().getDouble(0, 0)); |
| + EXPECT_FLOAT_EQ(1, parent->drawTransform().matrix().getDouble(1, 1)); |
| + EXPECT_FLOAT_EQ(1, childScale->drawTransform().matrix().getDouble(0, 0)); |
| + EXPECT_FLOAT_EQ(1, childScale->drawTransform().matrix().getDouble(1, 1)); |
| + EXPECT_FLOAT_EQ(1, childEmpty->drawTransform().matrix().getDouble(0, 0)); |
| + EXPECT_FLOAT_EQ(1, childEmpty->drawTransform().matrix().getDouble(1, 1)); |
| + EXPECT_FLOAT_EQ(deviceScaleFactor * pageScaleFactor * initialParentScale * initialChildScale, childNoScale->drawTransform().matrix().getDouble(0, 0)); |
| + EXPECT_FLOAT_EQ(deviceScaleFactor * pageScaleFactor * initialParentScale * initialChildScale, childNoScale->drawTransform().matrix().getDouble(1, 1)); |
| + EXPECT_FLOAT_EQ(initialParentScale * initialChildScale / fixedRasterScale, childNoAutoScale->drawTransform().matrix().getDouble(0, 0)); |
| + EXPECT_FLOAT_EQ(initialParentScale * initialChildScale / fixedRasterScale, childNoAutoScale->drawTransform().matrix().getDouble(1, 1)); |
| // If the transform changes, we expect the contentsScale to remain unchanged. |
| childScale->setTransform(identityMatrix); |
| @@ -4199,7 +4199,7 @@ TEST(LayerTreeHostCommonTest, verifyContentsScale) |
| // FIXME: Remove this when pageScaleFactor is applied in the compositor. |
| pageScaleMatrix = identityMatrix; |
| - pageScaleMatrix.scale(pageScaleFactor); |
| + pageScaleMatrix.PreconcatScale(pageScaleFactor, pageScaleFactor); |
| parent->setSublayerTransform(pageScaleMatrix); |
| renderSurfaceLayerList.clear(); |
| @@ -4215,15 +4215,15 @@ TEST(LayerTreeHostCommonTest, verifyContentsScale) |
| TEST(LayerTreeHostCommonTest, verifySmallContentsScale) |
| { |
| MockContentLayerClient delegate; |
| - WebTransformationMatrix identityMatrix; |
| + Transform identityMatrix; |
| - WebTransformationMatrix parentScaleMatrix; |
| + Transform parentScaleMatrix; |
| const double initialParentScale = 1.75; |
| - parentScaleMatrix.scale(initialParentScale); |
| + parentScaleMatrix.PreconcatScale(initialParentScale, initialParentScale); |
| - WebTransformationMatrix childScaleMatrix; |
| + Transform childScaleMatrix; |
| const double initialChildScale = 0.25; |
| - childScaleMatrix.scale(initialChildScale); |
| + childScaleMatrix.PreconcatScale(initialChildScale, initialChildScale); |
| scoped_refptr<ContentLayer> parent = createDrawableContentLayer(&delegate); |
| setLayerPropertiesForTesting(parent.get(), parentScaleMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(100, 100), true); |
| @@ -4244,8 +4244,8 @@ TEST(LayerTreeHostCommonTest, verifySmallContentsScale) |
| double pageScaleFactor = 0.01; |
| // FIXME: Remove this when pageScaleFactor is applied in the compositor. |
| - WebTransformationMatrix pageScaleMatrix; |
| - pageScaleMatrix.scale(pageScaleFactor); |
| + Transform pageScaleMatrix; |
| + pageScaleMatrix.PreconcatScale(pageScaleFactor, pageScaleFactor); |
| parent->setSublayerTransform(pageScaleMatrix); |
| LayerTreeHostCommon::calculateDrawTransforms(parent.get(), parent->bounds(), deviceScaleFactor, pageScaleFactor, dummyMaxTextureSize, renderSurfaceLayerList); |
| @@ -4255,9 +4255,9 @@ TEST(LayerTreeHostCommonTest, verifySmallContentsScale) |
| EXPECT_CONTENTS_SCALE_EQ(deviceScaleFactor * pageScaleFactor * 1, childScale); |
| // When chilld's total scale becomes >= 1, we should save and use that scale factor. |
| - childScaleMatrix.makeIdentity(); |
| + childScaleMatrix.matrix().setIdentity(); |
| const double finalChildScale = 0.75; |
| - childScaleMatrix.scale(finalChildScale); |
| + childScaleMatrix.PreconcatScale(finalChildScale, finalChildScale); |
| childScale->setTransform(childScaleMatrix); |
| renderSurfaceLayerList.clear(); |
| @@ -4270,15 +4270,15 @@ TEST(LayerTreeHostCommonTest, verifySmallContentsScale) |
| TEST(LayerTreeHostCommonTest, verifyContentsScaleForSurfaces) |
| { |
| MockContentLayerClient delegate; |
| - WebTransformationMatrix identityMatrix; |
| + Transform identityMatrix; |
| - WebTransformationMatrix parentScaleMatrix; |
| + Transform parentScaleMatrix; |
| const double initialParentScale = 2; |
| - parentScaleMatrix.scale(initialParentScale); |
| + parentScaleMatrix.PreconcatScale(initialParentScale, initialParentScale); |
| - WebTransformationMatrix childScaleMatrix; |
| + Transform childScaleMatrix; |
| const double initialChildScale = 3; |
| - childScaleMatrix.scale(initialChildScale); |
| + childScaleMatrix.PreconcatScale(initialChildScale, initialChildScale); |
| float fixedRasterScale = 4; |
| @@ -4341,8 +4341,8 @@ TEST(LayerTreeHostCommonTest, verifyContentsScaleForSurfaces) |
| double pageScaleFactor = 7; |
| // FIXME: Remove this when pageScaleFactor is applied in the compositor. |
| - WebTransformationMatrix pageScaleMatrix; |
| - pageScaleMatrix.scale(pageScaleFactor); |
| + Transform pageScaleMatrix; |
| + pageScaleMatrix.PreconcatScale(pageScaleFactor, pageScaleFactor); |
| parent->setSublayerTransform(pageScaleMatrix); |
| LayerTreeHostCommon::calculateDrawTransforms(parent.get(), parent->bounds(), deviceScaleFactor, pageScaleFactor, dummyMaxTextureSize, renderSurfaceLayerList); |
| @@ -4360,70 +4360,70 @@ TEST(LayerTreeHostCommonTest, verifyContentsScaleForSurfaces) |
| EXPECT_CONTENTS_SCALE_EQ(1, surfaceNoAutoScaleChildNoScale); |
| // The parent is scaled up and shouldn't need to scale during draw. |
| - EXPECT_FLOAT_EQ(1, parent->drawTransform().m11()); |
| - EXPECT_FLOAT_EQ(1, parent->drawTransform().m22()); |
| + EXPECT_FLOAT_EQ(1, parent->drawTransform().matrix().getDouble(0, 0)); |
| + EXPECT_FLOAT_EQ(1, parent->drawTransform().matrix().getDouble(1, 1)); |
| // RenderSurfaces should always be 1:1 with their target. |
| - EXPECT_FLOAT_EQ(1, surfaceScale->renderSurface()->drawTransform().m11()); |
| - EXPECT_FLOAT_EQ(1, surfaceScale->renderSurface()->drawTransform().m22()); |
| + EXPECT_FLOAT_EQ(1, surfaceScale->renderSurface()->drawTransform().matrix().getDouble(0, 0)); |
| + EXPECT_FLOAT_EQ(1, surfaceScale->renderSurface()->drawTransform().matrix().getDouble(1, 1)); |
| // The surfaceScale can apply contents scale so the layer shouldn't need to scale during draw. |
| - EXPECT_FLOAT_EQ(1, surfaceScale->drawTransform().m11()); |
| - EXPECT_FLOAT_EQ(1, surfaceScale->drawTransform().m22()); |
| + EXPECT_FLOAT_EQ(1, surfaceScale->drawTransform().matrix().getDouble(0, 0)); |
| + EXPECT_FLOAT_EQ(1, surfaceScale->drawTransform().matrix().getDouble(1, 1)); |
| // The surfaceScaleChildScale can apply contents scale so it shouldn't need to scale during draw. |
| - EXPECT_FLOAT_EQ(1, surfaceScaleChildScale->drawTransform().m11()); |
| - EXPECT_FLOAT_EQ(1, surfaceScaleChildScale->drawTransform().m22()); |
| + EXPECT_FLOAT_EQ(1, surfaceScaleChildScale->drawTransform().matrix().getDouble(0, 0)); |
| + EXPECT_FLOAT_EQ(1, surfaceScaleChildScale->drawTransform().matrix().getDouble(1, 1)); |
| // The surfaceScaleChildNoScale can not apply contents scale, so it needs to be scaled during draw. |
| - EXPECT_FLOAT_EQ(deviceScaleFactor * pageScaleFactor * initialParentScale * initialChildScale * initialChildScale, surfaceScaleChildNoScale->drawTransform().m11()); |
| - EXPECT_FLOAT_EQ(deviceScaleFactor * pageScaleFactor * initialParentScale * initialChildScale * initialChildScale, surfaceScaleChildNoScale->drawTransform().m22()); |
| + EXPECT_FLOAT_EQ(deviceScaleFactor * pageScaleFactor * initialParentScale * initialChildScale * initialChildScale, surfaceScaleChildNoScale->drawTransform().matrix().getDouble(0, 0)); |
| + EXPECT_FLOAT_EQ(deviceScaleFactor * pageScaleFactor * initialParentScale * initialChildScale * initialChildScale, surfaceScaleChildNoScale->drawTransform().matrix().getDouble(1, 1)); |
| // RenderSurfaces should always be 1:1 with their target. |
| - EXPECT_FLOAT_EQ(1, surfaceNoScale->renderSurface()->drawTransform().m11()); |
| - EXPECT_FLOAT_EQ(1, surfaceNoScale->renderSurface()->drawTransform().m22()); |
| + EXPECT_FLOAT_EQ(1, surfaceNoScale->renderSurface()->drawTransform().matrix().getDouble(0, 0)); |
| + EXPECT_FLOAT_EQ(1, surfaceNoScale->renderSurface()->drawTransform().matrix().getDouble(1, 1)); |
| // The surfaceNoScale layer can not apply contents scale, so it needs to be scaled during draw. |
| - EXPECT_FLOAT_EQ(deviceScaleFactor * pageScaleFactor * initialParentScale * initialChildScale, surfaceNoScale->drawTransform().m11()); |
| - EXPECT_FLOAT_EQ(deviceScaleFactor * pageScaleFactor * initialParentScale * initialChildScale, surfaceNoScale->drawTransform().m22()); |
| + EXPECT_FLOAT_EQ(deviceScaleFactor * pageScaleFactor * initialParentScale * initialChildScale, surfaceNoScale->drawTransform().matrix().getDouble(0, 0)); |
| + EXPECT_FLOAT_EQ(deviceScaleFactor * pageScaleFactor * initialParentScale * initialChildScale, surfaceNoScale->drawTransform().matrix().getDouble(1, 1)); |
| // The surfaceScaleChildScale can apply contents scale so it shouldn't need to scale during draw. |
| - EXPECT_FLOAT_EQ(1, surfaceNoScaleChildScale->drawTransform().m11()); |
| - EXPECT_FLOAT_EQ(1, surfaceNoScaleChildScale->drawTransform().m22()); |
| + EXPECT_FLOAT_EQ(1, surfaceNoScaleChildScale->drawTransform().matrix().getDouble(0, 0)); |
| + EXPECT_FLOAT_EQ(1, surfaceNoScaleChildScale->drawTransform().matrix().getDouble(1, 1)); |
| // The surfaceScaleChildNoScale can not apply contents scale, so it needs to be scaled during draw. |
| - EXPECT_FLOAT_EQ(deviceScaleFactor * pageScaleFactor * initialParentScale * initialChildScale * initialChildScale, surfaceNoScaleChildNoScale->drawTransform().m11()); |
| - EXPECT_FLOAT_EQ(deviceScaleFactor * pageScaleFactor * initialParentScale * initialChildScale * initialChildScale, surfaceNoScaleChildNoScale->drawTransform().m22()); |
| + EXPECT_FLOAT_EQ(deviceScaleFactor * pageScaleFactor * initialParentScale * initialChildScale * initialChildScale, surfaceNoScaleChildNoScale->drawTransform().matrix().getDouble(0, 0)); |
| + EXPECT_FLOAT_EQ(deviceScaleFactor * pageScaleFactor * initialParentScale * initialChildScale * initialChildScale, surfaceNoScaleChildNoScale->drawTransform().matrix().getDouble(1, 1)); |
| // RenderSurfaces should always be 1:1 with their target. |
| - EXPECT_FLOAT_EQ(1, surfaceNoAutoScale->renderSurface()->drawTransform().m11()); |
| - EXPECT_FLOAT_EQ(1, surfaceNoAutoScale->renderSurface()->drawTransform().m22()); |
| + EXPECT_FLOAT_EQ(1, surfaceNoAutoScale->renderSurface()->drawTransform().matrix().getDouble(0, 0)); |
| + EXPECT_FLOAT_EQ(1, surfaceNoAutoScale->renderSurface()->drawTransform().matrix().getDouble(1, 1)); |
| // The surfaceNoAutoScale layer has a fixed contents scale, so it needs to be scaled during draw. |
| - EXPECT_FLOAT_EQ(deviceScaleFactor * pageScaleFactor * initialParentScale * initialChildScale / (deviceScaleFactor * pageScaleFactor * fixedRasterScale), surfaceNoAutoScale->drawTransform().m11()); |
| - EXPECT_FLOAT_EQ(deviceScaleFactor * pageScaleFactor * initialParentScale * initialChildScale / (deviceScaleFactor * pageScaleFactor * fixedRasterScale), surfaceNoAutoScale->drawTransform().m22()); |
| + EXPECT_FLOAT_EQ(deviceScaleFactor * pageScaleFactor * initialParentScale * initialChildScale / (deviceScaleFactor * pageScaleFactor * fixedRasterScale), surfaceNoAutoScale->drawTransform().matrix().getDouble(0, 0)); |
| + EXPECT_FLOAT_EQ(deviceScaleFactor * pageScaleFactor * initialParentScale * initialChildScale / (deviceScaleFactor * pageScaleFactor * fixedRasterScale), surfaceNoAutoScale->drawTransform().matrix().getDouble(1, 1)); |
| // The surfaceScaleChildScale can apply contents scale so it shouldn't need to scale during draw. |
| - EXPECT_FLOAT_EQ(1, surfaceNoAutoScaleChildScale->drawTransform().m11()); |
| - EXPECT_FLOAT_EQ(1, surfaceNoAutoScaleChildScale->drawTransform().m22()); |
| + EXPECT_FLOAT_EQ(1, surfaceNoAutoScaleChildScale->drawTransform().matrix().getDouble(0, 0)); |
| + EXPECT_FLOAT_EQ(1, surfaceNoAutoScaleChildScale->drawTransform().matrix().getDouble(1, 1)); |
| // The surfaceScaleChildNoScale can not apply contents scale, so it needs to be scaled during draw. |
| - EXPECT_FLOAT_EQ(deviceScaleFactor * pageScaleFactor * initialParentScale * initialChildScale * initialChildScale, surfaceNoAutoScaleChildNoScale->drawTransform().m11()); |
| - EXPECT_FLOAT_EQ(deviceScaleFactor * pageScaleFactor * initialParentScale * initialChildScale * initialChildScale, surfaceNoAutoScaleChildNoScale->drawTransform().m22()); |
| + EXPECT_FLOAT_EQ(deviceScaleFactor * pageScaleFactor * initialParentScale * initialChildScale * initialChildScale, surfaceNoAutoScaleChildNoScale->drawTransform().matrix().getDouble(0, 0)); |
| + EXPECT_FLOAT_EQ(deviceScaleFactor * pageScaleFactor * initialParentScale * initialChildScale * initialChildScale, surfaceNoAutoScaleChildNoScale->drawTransform().matrix().getDouble(1, 1)); |
| } |
| TEST(LayerTreeHostCommonTest, verifyContentsScaleForAnimatingLayer) |
| { |
| MockContentLayerClient delegate; |
| - WebTransformationMatrix identityMatrix; |
| + Transform identityMatrix; |
| - WebTransformationMatrix parentScaleMatrix; |
| + Transform parentScaleMatrix; |
| const double initialParentScale = 1.75; |
| - parentScaleMatrix.scale(initialParentScale); |
| + parentScaleMatrix.PreconcatScale(initialParentScale, initialParentScale); |
| - WebTransformationMatrix childScaleMatrix; |
| + Transform childScaleMatrix; |
| const double initialChildScale = 1.25; |
| - childScaleMatrix.scale(initialChildScale); |
| + childScaleMatrix.PreconcatScale(initialChildScale, initialChildScale); |
| scoped_refptr<ContentLayer> parent = createDrawableContentLayer(&delegate); |
| setLayerPropertiesForTesting(parent.get(), parentScaleMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(100, 100), true); |
| @@ -4459,7 +4459,7 @@ TEST(LayerTreeHostCommonTest, verifyContentsScaleForAnimatingLayer) |
| TEST(LayerTreeHostCommonTest, verifyRenderSurfaceTransformsInHighDPI) |
| { |
| MockContentLayerClient delegate; |
| - WebTransformationMatrix identityMatrix; |
| + Transform identityMatrix; |
| scoped_refptr<ContentLayer> parent = createDrawableContentLayer(&delegate); |
| setLayerPropertiesForTesting(parent.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(30, 30), true); |
| @@ -4467,8 +4467,8 @@ TEST(LayerTreeHostCommonTest, verifyRenderSurfaceTransformsInHighDPI) |
| scoped_refptr<ContentLayer> child = createDrawableContentLayer(&delegate); |
| setLayerPropertiesForTesting(child.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(2, 2), gfx::Size(10, 10), true); |
| - WebTransformationMatrix replicaTransform; |
| - replicaTransform.scaleNonUniform(1, -1); |
| + Transform replicaTransform; |
| + replicaTransform.PreconcatScale(1, -1); |
| scoped_refptr<ContentLayer> replica = createDrawableContentLayer(&delegate); |
| setLayerPropertiesForTesting(replica.get(), replicaTransform, identityMatrix, gfx::PointF(0, 0), gfx::PointF(2, 2), gfx::Size(10, 10), true); |
| @@ -4496,45 +4496,45 @@ TEST(LayerTreeHostCommonTest, verifyRenderSurfaceTransformsInHighDPI) |
| // render surface (it needs one because it has a replica layer). |
| EXPECT_EQ(2u, renderSurfaceLayerList.size()); |
| - WebTransformationMatrix expectedParentTransform; |
| + Transform expectedParentTransform; |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedParentTransform, parent->screenSpaceTransform()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedParentTransform, parent->drawTransform()); |
| - WebTransformationMatrix expectedDrawTransform; |
| + Transform expectedDrawTransform; |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedDrawTransform, child->drawTransform()); |
| - WebTransformationMatrix expectedScreenSpaceTransform; |
| - expectedScreenSpaceTransform.translate(deviceScaleFactor * child->position().x(), deviceScaleFactor * child->position().y()); |
| + Transform expectedScreenSpaceTransform; |
| + expectedScreenSpaceTransform.PreconcatTranslate(deviceScaleFactor * child->position().x(), deviceScaleFactor * child->position().y()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedScreenSpaceTransform, child->screenSpaceTransform()); |
| - WebTransformationMatrix expectedDuplicateChildDrawTransform = child->drawTransform(); |
| + Transform expectedDuplicateChildDrawTransform = child->drawTransform(); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(child->drawTransform(), duplicateChildNonOwner->drawTransform()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(child->screenSpaceTransform(), duplicateChildNonOwner->screenSpaceTransform()); |
| EXPECT_RECT_EQ(child->drawableContentRect(), duplicateChildNonOwner->drawableContentRect()); |
| EXPECT_EQ(child->contentBounds(), duplicateChildNonOwner->contentBounds()); |
| - WebTransformationMatrix expectedRenderSurfaceDrawTransform; |
| - expectedRenderSurfaceDrawTransform.translate(deviceScaleFactor * child->position().x(), deviceScaleFactor * child->position().y()); |
| + Transform expectedRenderSurfaceDrawTransform; |
| + expectedRenderSurfaceDrawTransform.PreconcatTranslate(deviceScaleFactor * child->position().x(), deviceScaleFactor * child->position().y()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedRenderSurfaceDrawTransform, child->renderSurface()->drawTransform()); |
| - WebTransformationMatrix expectedSurfaceDrawTransform; |
| - expectedSurfaceDrawTransform.translate(deviceScaleFactor * 2, deviceScaleFactor * 2); |
| + Transform expectedSurfaceDrawTransform; |
| + expectedSurfaceDrawTransform.PreconcatTranslate(deviceScaleFactor * 2, deviceScaleFactor * 2); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedSurfaceDrawTransform, child->renderSurface()->drawTransform()); |
| - WebTransformationMatrix expectedSurfaceScreenSpaceTransform; |
| - expectedSurfaceScreenSpaceTransform.translate(deviceScaleFactor * 2, deviceScaleFactor * 2); |
| + Transform expectedSurfaceScreenSpaceTransform; |
| + expectedSurfaceScreenSpaceTransform.PreconcatTranslate(deviceScaleFactor * 2, deviceScaleFactor * 2); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedSurfaceScreenSpaceTransform, child->renderSurface()->screenSpaceTransform()); |
| - WebTransformationMatrix expectedReplicaDrawTransform; |
| - expectedReplicaDrawTransform.setM22(-1); |
| - expectedReplicaDrawTransform.setM41(6); |
| - expectedReplicaDrawTransform.setM42(6); |
| + Transform expectedReplicaDrawTransform; |
| + expectedReplicaDrawTransform.matrix().setDouble(1, 1, -1); |
| + expectedReplicaDrawTransform.matrix().setDouble(0, 3, 6); |
| + expectedReplicaDrawTransform.matrix().setDouble(1, 3, 6); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedReplicaDrawTransform, child->renderSurface()->replicaDrawTransform()); |
| - WebTransformationMatrix expectedReplicaScreenSpaceTransform; |
| - expectedReplicaScreenSpaceTransform.setM22(-1); |
| - expectedReplicaScreenSpaceTransform.setM41(6); |
| - expectedReplicaScreenSpaceTransform.setM42(6); |
| + Transform expectedReplicaScreenSpaceTransform; |
| + expectedReplicaScreenSpaceTransform.matrix().setDouble(1, 1, -1); |
| + expectedReplicaScreenSpaceTransform.matrix().setDouble(0, 3, 6); |
| + expectedReplicaScreenSpaceTransform.matrix().setDouble(1, 3, 6); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedReplicaScreenSpaceTransform, child->renderSurface()->replicaScreenSpaceTransform()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedReplicaScreenSpaceTransform, child->renderSurface()->replicaScreenSpaceTransform()); |
| } |
| @@ -4542,7 +4542,7 @@ TEST(LayerTreeHostCommonTest, verifyRenderSurfaceTransformsInHighDPI) |
| TEST(LayerTreeHostCommonTest, verifyRenderSurfaceTransformsInHighDPIAccurateScaleZeroPosition) |
| { |
| MockContentLayerClient delegate; |
| - WebTransformationMatrix identityMatrix; |
| + Transform identityMatrix; |
| scoped_refptr<ContentLayer> parent = createDrawableContentLayer(&delegate); |
| setLayerPropertiesForTesting(parent.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(33, 31), true); |
| @@ -4550,8 +4550,8 @@ TEST(LayerTreeHostCommonTest, verifyRenderSurfaceTransformsInHighDPIAccurateScal |
| scoped_refptr<ContentLayer> child = createDrawableContentLayer(&delegate); |
| setLayerPropertiesForTesting(child.get(), identityMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(13, 11), true); |
| - WebTransformationMatrix replicaTransform; |
| - replicaTransform.scaleNonUniform(1, -1); |
| + Transform replicaTransform; |
| + replicaTransform.PreconcatScale(1, -1); |
| scoped_refptr<ContentLayer> replica = createDrawableContentLayer(&delegate); |
| setLayerPropertiesForTesting(replica.get(), replicaTransform, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(13, 11), true); |
| @@ -4579,7 +4579,7 @@ TEST(LayerTreeHostCommonTest, verifyRenderSurfaceTransformsInHighDPIAccurateScal |
| // render surface (it needs one because it has a replica layer). |
| EXPECT_EQ(2u, renderSurfaceLayerList.size()); |
| - WebTransformationMatrix identityTransform; |
| + Transform identityTransform; |
| EXPECT_TRANSFORMATION_MATRIX_EQ(identityTransform, parent->screenSpaceTransform()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(identityTransform, parent->drawTransform()); |
| @@ -4594,12 +4594,12 @@ TEST(LayerTreeHostCommonTest, verifyRenderSurfaceTransformsInHighDPIAccurateScal |
| EXPECT_TRANSFORMATION_MATRIX_EQ(identityTransform, child->renderSurface()->drawTransform()); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(identityTransform, child->renderSurface()->screenSpaceTransform()); |
| - WebTransformationMatrix expectedReplicaDrawTransform; |
| - expectedReplicaDrawTransform.setM22(-1); |
| + Transform expectedReplicaDrawTransform; |
| + expectedReplicaDrawTransform.matrix().setDouble(1, 1, -1); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedReplicaDrawTransform, child->renderSurface()->replicaDrawTransform()); |
| - WebTransformationMatrix expectedReplicaScreenSpaceTransform; |
| - expectedReplicaScreenSpaceTransform.setM22(-1); |
| + Transform expectedReplicaScreenSpaceTransform; |
| + expectedReplicaScreenSpaceTransform.matrix().setDouble(1, 1, -1); |
| EXPECT_TRANSFORMATION_MATRIX_EQ(expectedReplicaScreenSpaceTransform, child->renderSurface()->replicaScreenSpaceTransform()); |
| } |