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

Side by Side Diff: cc/trees/layer_tree_host_common_unittest.cc

Issue 12854010: cc: Chromify animation_test_common (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: patch for landing, rebased Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « cc/test/layer_tree_test.cc ('k') | cc/trees/layer_tree_host_impl_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/trees/layer_tree_host_common.h" 5 #include "cc/trees/layer_tree_host_common.h"
6 6
7 #include "cc/animation/layer_animation_controller.h" 7 #include "cc/animation/layer_animation_controller.h"
8 #include "cc/base/math_util.h" 8 #include "cc/base/math_util.h"
9 #include "cc/base/thread.h" 9 #include "cc/base/thread.h"
10 #include "cc/layers/content_layer.h" 10 #include "cc/layers/content_layer.h"
(...skipping 1609 matching lines...) Expand 10 before | Expand all | Expand 10 after
1620 1620
1621 std::vector<scoped_refptr<Layer> > renderSurfaceLayerList; 1621 std::vector<scoped_refptr<Layer> > renderSurfaceLayerList;
1622 int dummyMaxTextureSize = 512; 1622 int dummyMaxTextureSize = 512;
1623 LayerTreeHostCommon::calculateDrawProperties(parent.get(), parent->bounds(), 1, 1, dummyMaxTextureSize, false, renderSurfaceLayerList); 1623 LayerTreeHostCommon::calculateDrawProperties(parent.get(), parent->bounds(), 1, 1, dummyMaxTextureSize, false, renderSurfaceLayerList);
1624 1624
1625 // Without an animation, we should cull child and grandChild from the render SurfaceLayerList. 1625 // Without an animation, we should cull child and grandChild from the render SurfaceLayerList.
1626 ASSERT_EQ(1U, renderSurfaceLayerList.size()); 1626 ASSERT_EQ(1U, renderSurfaceLayerList.size());
1627 EXPECT_EQ(parent->id(), renderSurfaceLayerList[0]->id()); 1627 EXPECT_EQ(parent->id(), renderSurfaceLayerList[0]->id());
1628 1628
1629 // Now put an animating transform on child. 1629 // Now put an animating transform on child.
1630 addAnimatedTransformToController(*child->layer_animation_controller(), 10, 3 0, 0); 1630 AddAnimatedTransformToController(child->layer_animation_controller(), 10, 30 , 0);
1631 1631
1632 parent->ClearRenderSurface(); 1632 parent->ClearRenderSurface();
1633 child->ClearRenderSurface(); 1633 child->ClearRenderSurface();
1634 grandChild->ClearRenderSurface(); 1634 grandChild->ClearRenderSurface();
1635 renderSurfaceLayerList.clear(); 1635 renderSurfaceLayerList.clear();
1636 1636
1637 LayerTreeHostCommon::calculateDrawProperties(parent.get(), parent->bounds(), 1, 1, dummyMaxTextureSize, false, renderSurfaceLayerList); 1637 LayerTreeHostCommon::calculateDrawProperties(parent.get(), parent->bounds(), 1, 1, dummyMaxTextureSize, false, renderSurfaceLayerList);
1638 1638
1639 // With an animating transform, we should keep child and grandChild in the r enderSurfaceLayerList. 1639 // With an animating transform, we should keep child and grandChild in the r enderSurfaceLayerList.
1640 ASSERT_EQ(3U, renderSurfaceLayerList.size()); 1640 ASSERT_EQ(3U, renderSurfaceLayerList.size());
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after
1902 setLayerPropertiesForTesting(renderSurface1.get(), layerTransform, sublayerT ransform, gfx::PointF(0.25, 0), gfx::PointF(2.5, 0), gfx::Size(10, 10), false); 1902 setLayerPropertiesForTesting(renderSurface1.get(), layerTransform, sublayerT ransform, gfx::PointF(0.25, 0), gfx::PointF(2.5, 0), gfx::Size(10, 10), false);
1903 setLayerPropertiesForTesting(renderSurface2.get(), layerTransform, sublayerT ransform, gfx::PointF(0.25, 0), gfx::PointF(2.5, 0), gfx::Size(10, 10), false); 1903 setLayerPropertiesForTesting(renderSurface2.get(), layerTransform, sublayerT ransform, gfx::PointF(0.25, 0), gfx::PointF(2.5, 0), gfx::Size(10, 10), false);
1904 setLayerPropertiesForTesting(childOfRoot.get(), layerTransform, sublayerTran sform, gfx::PointF(0.25, 0), gfx::PointF(2.5, 0), gfx::Size(10, 10), false); 1904 setLayerPropertiesForTesting(childOfRoot.get(), layerTransform, sublayerTran sform, gfx::PointF(0.25, 0), gfx::PointF(2.5, 0), gfx::Size(10, 10), false);
1905 setLayerPropertiesForTesting(childOfRS1.get(), layerTransform, sublayerTrans form, gfx::PointF(0.25, 0), gfx::PointF(2.5, 0), gfx::Size(10, 10), false); 1905 setLayerPropertiesForTesting(childOfRS1.get(), layerTransform, sublayerTrans form, gfx::PointF(0.25, 0), gfx::PointF(2.5, 0), gfx::Size(10, 10), false);
1906 setLayerPropertiesForTesting(childOfRS2.get(), layerTransform, sublayerTrans form, gfx::PointF(0.25, 0), gfx::PointF(2.5, 0), gfx::Size(10, 10), false); 1906 setLayerPropertiesForTesting(childOfRS2.get(), layerTransform, sublayerTrans form, gfx::PointF(0.25, 0), gfx::PointF(2.5, 0), gfx::Size(10, 10), false);
1907 setLayerPropertiesForTesting(grandChildOfRoot.get(), layerTransform, sublaye rTransform, gfx::PointF(0.25, 0), gfx::PointF(2.5, 0), gfx::Size(10, 10), false) ; 1907 setLayerPropertiesForTesting(grandChildOfRoot.get(), layerTransform, sublaye rTransform, gfx::PointF(0.25, 0), gfx::PointF(2.5, 0), gfx::Size(10, 10), false) ;
1908 setLayerPropertiesForTesting(grandChildOfRS1.get(), layerTransform, sublayer Transform, gfx::PointF(0.25, 0), gfx::PointF(2.5, 0), gfx::Size(10, 10), false); 1908 setLayerPropertiesForTesting(grandChildOfRS1.get(), layerTransform, sublayer Transform, gfx::PointF(0.25, 0), gfx::PointF(2.5, 0), gfx::Size(10, 10), false);
1909 setLayerPropertiesForTesting(grandChildOfRS2.get(), layerTransform, sublayer Transform, gfx::PointF(0.25, 0), gfx::PointF(2.5, 0), gfx::Size(10, 10), false); 1909 setLayerPropertiesForTesting(grandChildOfRS2.get(), layerTransform, sublayer Transform, gfx::PointF(0.25, 0), gfx::PointF(2.5, 0), gfx::Size(10, 10), false);
1910 1910
1911 // Put an animated opacity on the render surface. 1911 // Put an animated opacity on the render surface.
1912 addOpacityTransitionToController(*renderSurface1->layer_animation_controller (), 10, 1, 0, false); 1912 AddOpacityTransitionToController(renderSurface1->layer_animation_controller( ), 10, 1, 0, false);
1913 1913
1914 // Also put an animated opacity on a layer without descendants. 1914 // Also put an animated opacity on a layer without descendants.
1915 addOpacityTransitionToController(*grandChildOfRoot->layer_animation_controll er(), 10, 1, 0, false); 1915 AddOpacityTransitionToController(grandChildOfRoot->layer_animation_controlle r(), 10, 1, 0, false);
1916 1916
1917 // Put a transform animation on the render surface. 1917 // Put a transform animation on the render surface.
1918 addAnimatedTransformToController(*renderSurface2->layer_animation_controller (), 10, 30, 0); 1918 AddAnimatedTransformToController(renderSurface2->layer_animation_controller( ), 10, 30, 0);
1919 1919
1920 // Also put transform animations on grandChildOfRoot, and grandChildOfRS2 1920 // Also put transform animations on grandChildOfRoot, and grandChildOfRS2
1921 addAnimatedTransformToController(*grandChildOfRoot->layer_animation_controll er(), 10, 30, 0); 1921 AddAnimatedTransformToController(grandChildOfRoot->layer_animation_controlle r(), 10, 30, 0);
1922 addAnimatedTransformToController(*grandChildOfRS2->layer_animation_controlle r(), 10, 30, 0); 1922 AddAnimatedTransformToController(grandChildOfRS2->layer_animation_controller (), 10, 30, 0);
1923 1923
1924 executeCalculateDrawProperties(parent.get()); 1924 executeCalculateDrawProperties(parent.get());
1925 1925
1926 // Only layers that are associated with render surfaces should have an actua l RenderSurface() value. 1926 // Only layers that are associated with render surfaces should have an actua l RenderSurface() value.
1927 // 1927 //
1928 ASSERT_TRUE(parent->render_surface()); 1928 ASSERT_TRUE(parent->render_surface());
1929 ASSERT_FALSE(childOfRoot->render_surface()); 1929 ASSERT_FALSE(childOfRoot->render_surface());
1930 ASSERT_FALSE(grandChildOfRoot->render_surface()); 1930 ASSERT_FALSE(grandChildOfRoot->render_surface());
1931 1931
1932 ASSERT_TRUE(renderSurface1->render_surface()); 1932 ASSERT_TRUE(renderSurface1->render_surface());
(...skipping 918 matching lines...) Expand 10 before | Expand all | Expand 10 after
2851 2851
2852 gfx::Transform backfaceMatrix; 2852 gfx::Transform backfaceMatrix;
2853 backfaceMatrix.Translate(50, 50); 2853 backfaceMatrix.Translate(50, 50);
2854 backfaceMatrix.RotateAboutYAxis(180); 2854 backfaceMatrix.RotateAboutYAxis(180);
2855 backfaceMatrix.Translate(-50, -50); 2855 backfaceMatrix.Translate(-50, -50);
2856 2856
2857 // Make our render surface. 2857 // Make our render surface.
2858 animatingSurface->SetForceRenderSurface(true); 2858 animatingSurface->SetForceRenderSurface(true);
2859 2859
2860 // Animate the transform on the render surface. 2860 // Animate the transform on the render surface.
2861 addAnimatedTransformToController(*animatingSurface->layer_animation_controll er(), 10, 30, 0); 2861 AddAnimatedTransformToController(animatingSurface->layer_animation_controlle r(), 10, 30, 0);
2862 // This is just an animating layer, not a surface. 2862 // This is just an animating layer, not a surface.
2863 addAnimatedTransformToController(*animatingChild->layer_animation_controller (), 10, 30, 0); 2863 AddAnimatedTransformToController(animatingChild->layer_animation_controller( ), 10, 30, 0);
2864 2864
2865 setLayerPropertiesForTesting(parent.get(), identityMatrix, identityMatrix, g fx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(100, 100), false); 2865 setLayerPropertiesForTesting(parent.get(), identityMatrix, identityMatrix, g fx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(100, 100), false);
2866 setLayerPropertiesForTesting(child.get(), backfaceMatrix, identityMatrix, gf x::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(100, 100), false); 2866 setLayerPropertiesForTesting(child.get(), backfaceMatrix, identityMatrix, gf x::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(100, 100), false);
2867 setLayerPropertiesForTesting(animatingSurface.get(), backfaceMatrix, identit yMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(100, 100), false); 2867 setLayerPropertiesForTesting(animatingSurface.get(), backfaceMatrix, identit yMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(100, 100), false);
2868 setLayerPropertiesForTesting(childOfAnimatingSurface.get(), backfaceMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(100, 100), false ); 2868 setLayerPropertiesForTesting(childOfAnimatingSurface.get(), backfaceMatrix, identityMatrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(100, 100), false );
2869 setLayerPropertiesForTesting(animatingChild.get(), backfaceMatrix, identityM atrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(100, 100), false); 2869 setLayerPropertiesForTesting(animatingChild.get(), backfaceMatrix, identityM atrix, gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(100, 100), false);
2870 setLayerPropertiesForTesting(child2.get(), identityMatrix, identityMatrix, g fx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(100, 100), false); 2870 setLayerPropertiesForTesting(child2.get(), identityMatrix, identityMatrix, g fx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(100, 100), false);
2871 2871
2872 std::vector<scoped_refptr<Layer> > renderSurfaceLayerList; 2872 std::vector<scoped_refptr<Layer> > renderSurfaceLayerList;
2873 int dummyMaxTextureSize = 512; 2873 int dummyMaxTextureSize = 512;
(...skipping 1942 matching lines...) Expand 10 before | Expand all | Expand 10 after
4816 4816
4817 scoped_refptr<ContentLayer> parent = createDrawableContentLayer(&delegate); 4817 scoped_refptr<ContentLayer> parent = createDrawableContentLayer(&delegate);
4818 setLayerPropertiesForTesting(parent.get(), parentScaleMatrix, identityMatrix , gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(100, 100), true); 4818 setLayerPropertiesForTesting(parent.get(), parentScaleMatrix, identityMatrix , gfx::PointF(0, 0), gfx::PointF(0, 0), gfx::Size(100, 100), true);
4819 4819
4820 scoped_refptr<ContentLayer> childScale = createDrawableContentLayer(&delegat e); 4820 scoped_refptr<ContentLayer> childScale = createDrawableContentLayer(&delegat e);
4821 setLayerPropertiesForTesting(childScale.get(), childScaleMatrix, identityMat rix, gfx::PointF(0, 0), gfx::PointF(2, 2), gfx::Size(10, 10), true); 4821 setLayerPropertiesForTesting(childScale.get(), childScaleMatrix, identityMat rix, gfx::PointF(0, 0), gfx::PointF(2, 2), gfx::Size(10, 10), true);
4822 4822
4823 parent->AddChild(childScale); 4823 parent->AddChild(childScale);
4824 4824
4825 // Now put an animating transform on child. 4825 // Now put an animating transform on child.
4826 int animationId = addAnimatedTransformToController(*childScale->layer_animat ion_controller(), 10, 30, 0); 4826 int animationId = AddAnimatedTransformToController(childScale->layer_animati on_controller(), 10, 30, 0);
4827 4827
4828 std::vector<scoped_refptr<Layer> > renderSurfaceLayerList; 4828 std::vector<scoped_refptr<Layer> > renderSurfaceLayerList;
4829 int dummyMaxTextureSize = 512; 4829 int dummyMaxTextureSize = 512;
4830 4830
4831 LayerTreeHostCommon::calculateDrawProperties(parent.get(), parent->bounds(), 1, 1, dummyMaxTextureSize, false, renderSurfaceLayerList); 4831 LayerTreeHostCommon::calculateDrawProperties(parent.get(), parent->bounds(), 1, 1, dummyMaxTextureSize, false, renderSurfaceLayerList);
4832 4832
4833 EXPECT_CONTENTS_SCALE_EQ(initialParentScale, parent); 4833 EXPECT_CONTENTS_SCALE_EQ(initialParentScale, parent);
4834 // The layers with animating transforms should not compute a contentsScale o ther than 1 until they finish animating. 4834 // The layers with animating transforms should not compute a contentsScale o ther than 1 until they finish animating.
4835 EXPECT_CONTENTS_SCALE_EQ(1, childScale); 4835 EXPECT_CONTENTS_SCALE_EQ(1, childScale);
4836 4836
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after
5125 TEST_P(LCDTextTest, verifycan_use_lcd_textWithAnimation) 5125 TEST_P(LCDTextTest, verifycan_use_lcd_textWithAnimation)
5126 { 5126 {
5127 // Sanity check: Make sure m_canUseLCDText is set on each node. 5127 // Sanity check: Make sure m_canUseLCDText is set on each node.
5128 executeCalculateDrawProperties(m_root, 1, 1, m_canUseLCDText); 5128 executeCalculateDrawProperties(m_root, 1, 1, m_canUseLCDText);
5129 EXPECT_EQ(m_canUseLCDText, m_root->can_use_lcd_text()); 5129 EXPECT_EQ(m_canUseLCDText, m_root->can_use_lcd_text());
5130 EXPECT_EQ(m_canUseLCDText, m_child->can_use_lcd_text()); 5130 EXPECT_EQ(m_canUseLCDText, m_child->can_use_lcd_text());
5131 EXPECT_EQ(m_canUseLCDText, m_grandChild->can_use_lcd_text()); 5131 EXPECT_EQ(m_canUseLCDText, m_grandChild->can_use_lcd_text());
5132 5132
5133 // Add opacity animation. 5133 // Add opacity animation.
5134 m_child->SetOpacity(0.9f); 5134 m_child->SetOpacity(0.9f);
5135 addOpacityTransitionToController(*(m_child->layer_animation_controller()), 1 0, 0.9f, 0.1f, false); 5135 AddOpacityTransitionToController(m_child->layer_animation_controller(), 10, 0.9f, 0.1f, false);
5136 5136
5137 executeCalculateDrawProperties(m_root, 1, 1, m_canUseLCDText); 5137 executeCalculateDrawProperties(m_root, 1, 1, m_canUseLCDText);
5138 // Text AA should not be adjusted while animation is active. 5138 // Text AA should not be adjusted while animation is active.
5139 // Make sure LCD text AA setting remains unchanged. 5139 // Make sure LCD text AA setting remains unchanged.
5140 EXPECT_EQ(m_canUseLCDText, m_root->can_use_lcd_text()); 5140 EXPECT_EQ(m_canUseLCDText, m_root->can_use_lcd_text());
5141 EXPECT_EQ(m_canUseLCDText, m_child->can_use_lcd_text()); 5141 EXPECT_EQ(m_canUseLCDText, m_child->can_use_lcd_text());
5142 EXPECT_EQ(m_canUseLCDText, m_grandChild->can_use_lcd_text()); 5142 EXPECT_EQ(m_canUseLCDText, m_grandChild->can_use_lcd_text());
5143 } 5143 }
5144 5144
5145 INSTANTIATE_TEST_CASE_P(LayerTreeHostCommonTest, 5145 INSTANTIATE_TEST_CASE_P(LayerTreeHostCommonTest,
5146 LCDTextTest, 5146 LCDTextTest,
5147 testing::Combine(testing::Bool(), 5147 testing::Combine(testing::Bool(),
5148 testing::Bool())); 5148 testing::Bool()));
5149 5149
5150 } // namespace 5150 } // namespace
5151 } // namespace cc 5151 } // namespace cc
OLDNEW
« no previous file with comments | « cc/test/layer_tree_test.cc ('k') | cc/trees/layer_tree_host_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698