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

Side by Side Diff: cc/animation/layer_animation_controller_unittest.cc

Issue 657103003: cc: Change scoped_ptr<T>() to nullptr. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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/animation/layer_animation_controller.h" 5 #include "cc/animation/layer_animation_controller.h"
6 6
7 #include "cc/animation/animation.h" 7 #include "cc/animation/animation.h"
8 #include "cc/animation/animation_curve.h" 8 #include "cc/animation/animation_curve.h"
9 #include "cc/animation/animation_delegate.h" 9 #include "cc/animation/animation_delegate.h"
10 #include "cc/animation/animation_registrar.h" 10 #include "cc/animation/animation_registrar.h"
(...skipping 492 matching lines...) Expand 10 before | Expand all | Expand 10 after
503 // Choose different values for x and y to avoid coincidental values in the 503 // Choose different values for x and y to avoid coincidental values in the
504 // observed transforms. 504 // observed transforms.
505 const float delta_x = 3; 505 const float delta_x = 3;
506 const float delta_y = 4; 506 const float delta_y = 4;
507 507
508 scoped_ptr<KeyframedTransformAnimationCurve> curve( 508 scoped_ptr<KeyframedTransformAnimationCurve> curve(
509 KeyframedTransformAnimationCurve::Create()); 509 KeyframedTransformAnimationCurve::Create());
510 510
511 // Create simple Transform animation. 511 // Create simple Transform animation.
512 TransformOperations operations; 512 TransformOperations operations;
513 curve->AddKeyframe( 513 curve->AddKeyframe(TransformKeyframe::Create(0, operations, nullptr));
514 TransformKeyframe::Create(0, operations, scoped_ptr<TimingFunction>()));
515 operations.AppendTranslate(delta_x, delta_y, 0); 514 operations.AppendTranslate(delta_x, delta_y, 0);
516 curve->AddKeyframe( 515 curve->AddKeyframe(TransformKeyframe::Create(1, operations, nullptr));
517 TransformKeyframe::Create(1, operations, scoped_ptr<TimingFunction>()));
518 516
519 scoped_ptr<Animation> animation( 517 scoped_ptr<Animation> animation(
520 Animation::Create(curve.Pass(), 1, 0, Animation::Transform)); 518 Animation::Create(curve.Pass(), 1, 0, Animation::Transform));
521 animation->set_is_impl_only(true); 519 animation->set_is_impl_only(true);
522 controller_impl->AddAnimation(animation.Pass()); 520 controller_impl->AddAnimation(animation.Pass());
523 521
524 // Run animation. 522 // Run animation.
525 controller_impl->Animate(kInitialTickTime); 523 controller_impl->Animate(kInitialTickTime);
526 controller_impl->UpdateState(true, events.get()); 524 controller_impl->UpdateState(true, events.get());
527 EXPECT_TRUE(controller_impl->HasActiveAnimation()); 525 EXPECT_TRUE(controller_impl->HasActiveAnimation());
(...skipping 26 matching lines...) Expand all
554 FakeLayerAnimationValueObserver dummy; 552 FakeLayerAnimationValueObserver dummy;
555 scoped_refptr<LayerAnimationController> controller( 553 scoped_refptr<LayerAnimationController> controller(
556 LayerAnimationController::Create(0)); 554 LayerAnimationController::Create(0));
557 controller->AddValueObserver(&dummy); 555 controller->AddValueObserver(&dummy);
558 556
559 scoped_ptr<KeyframedFilterAnimationCurve> curve( 557 scoped_ptr<KeyframedFilterAnimationCurve> curve(
560 KeyframedFilterAnimationCurve::Create()); 558 KeyframedFilterAnimationCurve::Create());
561 559
562 FilterOperations start_filters; 560 FilterOperations start_filters;
563 start_filters.Append(FilterOperation::CreateBrightnessFilter(1.f)); 561 start_filters.Append(FilterOperation::CreateBrightnessFilter(1.f));
564 curve->AddKeyframe( 562 curve->AddKeyframe(FilterKeyframe::Create(0, start_filters, nullptr));
565 FilterKeyframe::Create(0, start_filters, scoped_ptr<TimingFunction>()));
566 FilterOperations end_filters; 563 FilterOperations end_filters;
567 end_filters.Append(FilterOperation::CreateBrightnessFilter(2.f)); 564 end_filters.Append(FilterOperation::CreateBrightnessFilter(2.f));
568 curve->AddKeyframe( 565 curve->AddKeyframe(FilterKeyframe::Create(1, end_filters, nullptr));
569 FilterKeyframe::Create(1, end_filters, scoped_ptr<TimingFunction>()));
570 566
571 scoped_ptr<Animation> animation( 567 scoped_ptr<Animation> animation(
572 Animation::Create(curve.Pass(), 1, 0, Animation::Filter)); 568 Animation::Create(curve.Pass(), 1, 0, Animation::Filter));
573 controller->AddAnimation(animation.Pass()); 569 controller->AddAnimation(animation.Pass());
574 570
575 controller->Animate(kInitialTickTime); 571 controller->Animate(kInitialTickTime);
576 controller->UpdateState(true, events.get()); 572 controller->UpdateState(true, events.get());
577 EXPECT_TRUE(controller->HasActiveAnimation()); 573 EXPECT_TRUE(controller->HasActiveAnimation());
578 EXPECT_EQ(start_filters, dummy.filters()); 574 EXPECT_EQ(start_filters, dummy.filters());
579 // A non-impl-only animation should not generate property updates. 575 // A non-impl-only animation should not generate property updates.
(...skipping 23 matching lines...) Expand all
603 scoped_refptr<LayerAnimationController> controller_impl( 599 scoped_refptr<LayerAnimationController> controller_impl(
604 LayerAnimationController::Create(0)); 600 LayerAnimationController::Create(0));
605 controller_impl->AddValueObserver(&dummy_impl); 601 controller_impl->AddValueObserver(&dummy_impl);
606 602
607 scoped_ptr<KeyframedFilterAnimationCurve> curve( 603 scoped_ptr<KeyframedFilterAnimationCurve> curve(
608 KeyframedFilterAnimationCurve::Create()); 604 KeyframedFilterAnimationCurve::Create());
609 605
610 // Create simple Filter animation. 606 // Create simple Filter animation.
611 FilterOperations start_filters; 607 FilterOperations start_filters;
612 start_filters.Append(FilterOperation::CreateBrightnessFilter(1.f)); 608 start_filters.Append(FilterOperation::CreateBrightnessFilter(1.f));
613 curve->AddKeyframe( 609 curve->AddKeyframe(FilterKeyframe::Create(0, start_filters, nullptr));
614 FilterKeyframe::Create(0, start_filters, scoped_ptr<TimingFunction>()));
615 FilterOperations end_filters; 610 FilterOperations end_filters;
616 end_filters.Append(FilterOperation::CreateBrightnessFilter(2.f)); 611 end_filters.Append(FilterOperation::CreateBrightnessFilter(2.f));
617 curve->AddKeyframe( 612 curve->AddKeyframe(FilterKeyframe::Create(1, end_filters, nullptr));
618 FilterKeyframe::Create(1, end_filters, scoped_ptr<TimingFunction>()));
619 613
620 scoped_ptr<Animation> animation( 614 scoped_ptr<Animation> animation(
621 Animation::Create(curve.Pass(), 1, 0, Animation::Filter)); 615 Animation::Create(curve.Pass(), 1, 0, Animation::Filter));
622 animation->set_is_impl_only(true); 616 animation->set_is_impl_only(true);
623 controller_impl->AddAnimation(animation.Pass()); 617 controller_impl->AddAnimation(animation.Pass());
624 618
625 // Run animation. 619 // Run animation.
626 controller_impl->Animate(kInitialTickTime); 620 controller_impl->Animate(kInitialTickTime);
627 controller_impl->UpdateState(true, events.get()); 621 controller_impl->UpdateState(true, events.get());
628 EXPECT_TRUE(controller_impl->HasActiveAnimation()); 622 EXPECT_TRUE(controller_impl->HasActiveAnimation());
(...skipping 841 matching lines...) Expand 10 before | Expand all | Expand 10 after
1470 } 1464 }
1471 1465
1472 TEST(LayerAnimationControllerTest, TransformAnimationBounds) { 1466 TEST(LayerAnimationControllerTest, TransformAnimationBounds) {
1473 scoped_refptr<LayerAnimationController> controller_impl( 1467 scoped_refptr<LayerAnimationController> controller_impl(
1474 LayerAnimationController::Create(0)); 1468 LayerAnimationController::Create(0));
1475 1469
1476 scoped_ptr<KeyframedTransformAnimationCurve> curve1( 1470 scoped_ptr<KeyframedTransformAnimationCurve> curve1(
1477 KeyframedTransformAnimationCurve::Create()); 1471 KeyframedTransformAnimationCurve::Create());
1478 1472
1479 TransformOperations operations1; 1473 TransformOperations operations1;
1480 curve1->AddKeyframe(TransformKeyframe::Create( 1474 curve1->AddKeyframe(TransformKeyframe::Create(0.0, operations1, nullptr));
1481 0.0, operations1, scoped_ptr<TimingFunction>()));
1482 operations1.AppendTranslate(10.0, 15.0, 0.0); 1475 operations1.AppendTranslate(10.0, 15.0, 0.0);
1483 curve1->AddKeyframe(TransformKeyframe::Create( 1476 curve1->AddKeyframe(TransformKeyframe::Create(1.0, operations1, nullptr));
1484 1.0, operations1, scoped_ptr<TimingFunction>()));
1485 1477
1486 scoped_ptr<Animation> animation( 1478 scoped_ptr<Animation> animation(
1487 Animation::Create(curve1.Pass(), 1, 1, Animation::Transform)); 1479 Animation::Create(curve1.Pass(), 1, 1, Animation::Transform));
1488 controller_impl->AddAnimation(animation.Pass()); 1480 controller_impl->AddAnimation(animation.Pass());
1489 1481
1490 scoped_ptr<KeyframedTransformAnimationCurve> curve2( 1482 scoped_ptr<KeyframedTransformAnimationCurve> curve2(
1491 KeyframedTransformAnimationCurve::Create()); 1483 KeyframedTransformAnimationCurve::Create());
1492 1484
1493 TransformOperations operations2; 1485 TransformOperations operations2;
1494 curve2->AddKeyframe(TransformKeyframe::Create( 1486 curve2->AddKeyframe(TransformKeyframe::Create(0.0, operations2, nullptr));
1495 0.0, operations2, scoped_ptr<TimingFunction>()));
1496 operations2.AppendScale(2.0, 3.0, 4.0); 1487 operations2.AppendScale(2.0, 3.0, 4.0);
1497 curve2->AddKeyframe(TransformKeyframe::Create( 1488 curve2->AddKeyframe(TransformKeyframe::Create(1.0, operations2, nullptr));
1498 1.0, operations2, scoped_ptr<TimingFunction>()));
1499 1489
1500 animation = Animation::Create(curve2.Pass(), 2, 2, Animation::Transform); 1490 animation = Animation::Create(curve2.Pass(), 2, 2, Animation::Transform);
1501 controller_impl->AddAnimation(animation.Pass()); 1491 controller_impl->AddAnimation(animation.Pass());
1502 1492
1503 gfx::BoxF box(1.f, 2.f, -1.f, 3.f, 4.f, 5.f); 1493 gfx::BoxF box(1.f, 2.f, -1.f, 3.f, 4.f, 5.f);
1504 gfx::BoxF bounds; 1494 gfx::BoxF bounds;
1505 1495
1506 EXPECT_TRUE(controller_impl->TransformAnimationBoundsForBox(box, &bounds)); 1496 EXPECT_TRUE(controller_impl->TransformAnimationBoundsForBox(box, &bounds));
1507 EXPECT_EQ(gfx::BoxF(1.f, 2.f, -4.f, 13.f, 19.f, 20.f).ToString(), 1497 EXPECT_EQ(gfx::BoxF(1.f, 2.f, -4.f, 13.f, 19.f, 20.f).ToString(),
1508 bounds.ToString()); 1498 bounds.ToString());
(...skipping 11 matching lines...) Expand all
1520 1510
1521 // There are no longer any running animations. 1511 // There are no longer any running animations.
1522 EXPECT_FALSE(controller_impl->HasTransformAnimationThatInflatesBounds()); 1512 EXPECT_FALSE(controller_impl->HasTransformAnimationThatInflatesBounds());
1523 1513
1524 // Add an animation whose bounds we don't yet support computing. 1514 // Add an animation whose bounds we don't yet support computing.
1525 scoped_ptr<KeyframedTransformAnimationCurve> curve3( 1515 scoped_ptr<KeyframedTransformAnimationCurve> curve3(
1526 KeyframedTransformAnimationCurve::Create()); 1516 KeyframedTransformAnimationCurve::Create());
1527 TransformOperations operations3; 1517 TransformOperations operations3;
1528 gfx::Transform transform3; 1518 gfx::Transform transform3;
1529 transform3.Scale3d(1.0, 2.0, 3.0); 1519 transform3.Scale3d(1.0, 2.0, 3.0);
1530 curve3->AddKeyframe(TransformKeyframe::Create( 1520 curve3->AddKeyframe(TransformKeyframe::Create(0.0, operations3, nullptr));
1531 0.0, operations3, scoped_ptr<TimingFunction>()));
1532 operations3.AppendMatrix(transform3); 1521 operations3.AppendMatrix(transform3);
1533 curve3->AddKeyframe(TransformKeyframe::Create( 1522 curve3->AddKeyframe(TransformKeyframe::Create(1.0, operations3, nullptr));
1534 1.0, operations3, scoped_ptr<TimingFunction>()));
1535 animation = Animation::Create(curve3.Pass(), 3, 3, Animation::Transform); 1523 animation = Animation::Create(curve3.Pass(), 3, 3, Animation::Transform);
1536 controller_impl->AddAnimation(animation.Pass()); 1524 controller_impl->AddAnimation(animation.Pass());
1537 EXPECT_FALSE(controller_impl->TransformAnimationBoundsForBox(box, &bounds)); 1525 EXPECT_FALSE(controller_impl->TransformAnimationBoundsForBox(box, &bounds));
1538 } 1526 }
1539 1527
1540 // Tests that AbortAnimations aborts all animations targeting the specified 1528 // Tests that AbortAnimations aborts all animations targeting the specified
1541 // property. 1529 // property.
1542 TEST(LayerAnimationControllerTest, AbortAnimations) { 1530 TEST(LayerAnimationControllerTest, AbortAnimations) {
1543 FakeLayerAnimationValueObserver dummy; 1531 FakeLayerAnimationValueObserver dummy;
1544 scoped_refptr<LayerAnimationController> controller( 1532 scoped_refptr<LayerAnimationController> controller(
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after
1792 1, 1780 1,
1793 Animation::Opacity)); 1781 Animation::Opacity));
1794 1782
1795 // Opacity animations don't affect scale. 1783 // Opacity animations don't affect scale.
1796 EXPECT_FALSE(controller_impl->HasAnimationThatAffectsScale()); 1784 EXPECT_FALSE(controller_impl->HasAnimationThatAffectsScale());
1797 1785
1798 scoped_ptr<KeyframedTransformAnimationCurve> curve1( 1786 scoped_ptr<KeyframedTransformAnimationCurve> curve1(
1799 KeyframedTransformAnimationCurve::Create()); 1787 KeyframedTransformAnimationCurve::Create());
1800 1788
1801 TransformOperations operations1; 1789 TransformOperations operations1;
1802 curve1->AddKeyframe(TransformKeyframe::Create( 1790 curve1->AddKeyframe(TransformKeyframe::Create(0.0, operations1, nullptr));
1803 0.0, operations1, scoped_ptr<TimingFunction>()));
1804 operations1.AppendTranslate(10.0, 15.0, 0.0); 1791 operations1.AppendTranslate(10.0, 15.0, 0.0);
1805 curve1->AddKeyframe(TransformKeyframe::Create( 1792 curve1->AddKeyframe(TransformKeyframe::Create(1.0, operations1, nullptr));
1806 1.0, operations1, scoped_ptr<TimingFunction>()));
1807 1793
1808 scoped_ptr<Animation> animation( 1794 scoped_ptr<Animation> animation(
1809 Animation::Create(curve1.Pass(), 2, 2, Animation::Transform)); 1795 Animation::Create(curve1.Pass(), 2, 2, Animation::Transform));
1810 controller_impl->AddAnimation(animation.Pass()); 1796 controller_impl->AddAnimation(animation.Pass());
1811 1797
1812 // Translations don't affect scale. 1798 // Translations don't affect scale.
1813 EXPECT_FALSE(controller_impl->HasAnimationThatAffectsScale()); 1799 EXPECT_FALSE(controller_impl->HasAnimationThatAffectsScale());
1814 1800
1815 scoped_ptr<KeyframedTransformAnimationCurve> curve2( 1801 scoped_ptr<KeyframedTransformAnimationCurve> curve2(
1816 KeyframedTransformAnimationCurve::Create()); 1802 KeyframedTransformAnimationCurve::Create());
1817 1803
1818 TransformOperations operations2; 1804 TransformOperations operations2;
1819 curve2->AddKeyframe(TransformKeyframe::Create( 1805 curve2->AddKeyframe(TransformKeyframe::Create(0.0, operations2, nullptr));
1820 0.0, operations2, scoped_ptr<TimingFunction>()));
1821 operations2.AppendScale(2.0, 3.0, 4.0); 1806 operations2.AppendScale(2.0, 3.0, 4.0);
1822 curve2->AddKeyframe(TransformKeyframe::Create( 1807 curve2->AddKeyframe(TransformKeyframe::Create(1.0, operations2, nullptr));
1823 1.0, operations2, scoped_ptr<TimingFunction>()));
1824 1808
1825 animation = Animation::Create(curve2.Pass(), 3, 3, Animation::Transform); 1809 animation = Animation::Create(curve2.Pass(), 3, 3, Animation::Transform);
1826 controller_impl->AddAnimation(animation.Pass()); 1810 controller_impl->AddAnimation(animation.Pass());
1827 1811
1828 EXPECT_TRUE(controller_impl->HasAnimationThatAffectsScale()); 1812 EXPECT_TRUE(controller_impl->HasAnimationThatAffectsScale());
1829 1813
1830 controller_impl->GetAnimation(3, Animation::Transform) 1814 controller_impl->GetAnimation(3, Animation::Transform)
1831 ->SetRunState(Animation::Finished, TicksFromSecondsF(0.0)); 1815 ->SetRunState(Animation::Finished, TicksFromSecondsF(0.0));
1832 1816
1833 // Only unfinished animations should be considered by 1817 // Only unfinished animations should be considered by
(...skipping 12 matching lines...) Expand all
1846 1, 1830 1,
1847 Animation::Opacity)); 1831 Animation::Opacity));
1848 1832
1849 // Opacity animations aren't non-translation transforms. 1833 // Opacity animations aren't non-translation transforms.
1850 EXPECT_TRUE(controller_impl->HasOnlyTranslationTransforms()); 1834 EXPECT_TRUE(controller_impl->HasOnlyTranslationTransforms());
1851 1835
1852 scoped_ptr<KeyframedTransformAnimationCurve> curve1( 1836 scoped_ptr<KeyframedTransformAnimationCurve> curve1(
1853 KeyframedTransformAnimationCurve::Create()); 1837 KeyframedTransformAnimationCurve::Create());
1854 1838
1855 TransformOperations operations1; 1839 TransformOperations operations1;
1856 curve1->AddKeyframe(TransformKeyframe::Create( 1840 curve1->AddKeyframe(TransformKeyframe::Create(0.0, operations1, nullptr));
1857 0.0, operations1, scoped_ptr<TimingFunction>()));
1858 operations1.AppendTranslate(10.0, 15.0, 0.0); 1841 operations1.AppendTranslate(10.0, 15.0, 0.0);
1859 curve1->AddKeyframe(TransformKeyframe::Create( 1842 curve1->AddKeyframe(TransformKeyframe::Create(1.0, operations1, nullptr));
1860 1.0, operations1, scoped_ptr<TimingFunction>()));
1861 1843
1862 scoped_ptr<Animation> animation( 1844 scoped_ptr<Animation> animation(
1863 Animation::Create(curve1.Pass(), 2, 2, Animation::Transform)); 1845 Animation::Create(curve1.Pass(), 2, 2, Animation::Transform));
1864 controller_impl->AddAnimation(animation.Pass()); 1846 controller_impl->AddAnimation(animation.Pass());
1865 1847
1866 // The only transform animation we've added is a translation. 1848 // The only transform animation we've added is a translation.
1867 EXPECT_TRUE(controller_impl->HasOnlyTranslationTransforms()); 1849 EXPECT_TRUE(controller_impl->HasOnlyTranslationTransforms());
1868 1850
1869 scoped_ptr<KeyframedTransformAnimationCurve> curve2( 1851 scoped_ptr<KeyframedTransformAnimationCurve> curve2(
1870 KeyframedTransformAnimationCurve::Create()); 1852 KeyframedTransformAnimationCurve::Create());
1871 1853
1872 TransformOperations operations2; 1854 TransformOperations operations2;
1873 curve2->AddKeyframe(TransformKeyframe::Create( 1855 curve2->AddKeyframe(TransformKeyframe::Create(0.0, operations2, nullptr));
1874 0.0, operations2, scoped_ptr<TimingFunction>()));
1875 operations2.AppendScale(2.0, 3.0, 4.0); 1856 operations2.AppendScale(2.0, 3.0, 4.0);
1876 curve2->AddKeyframe(TransformKeyframe::Create( 1857 curve2->AddKeyframe(TransformKeyframe::Create(1.0, operations2, nullptr));
1877 1.0, operations2, scoped_ptr<TimingFunction>()));
1878 1858
1879 animation = Animation::Create(curve2.Pass(), 3, 3, Animation::Transform); 1859 animation = Animation::Create(curve2.Pass(), 3, 3, Animation::Transform);
1880 controller_impl->AddAnimation(animation.Pass()); 1860 controller_impl->AddAnimation(animation.Pass());
1881 1861
1882 // A scale animation is not a translation. 1862 // A scale animation is not a translation.
1883 EXPECT_FALSE(controller_impl->HasOnlyTranslationTransforms()); 1863 EXPECT_FALSE(controller_impl->HasOnlyTranslationTransforms());
1884 1864
1885 controller_impl->GetAnimation(3, Animation::Transform) 1865 controller_impl->GetAnimation(3, Animation::Transform)
1886 ->SetRunState(Animation::Finished, TicksFromSecondsF(0.0)); 1866 ->SetRunState(Animation::Finished, TicksFromSecondsF(0.0));
1887 1867
1888 // Only unfinished animations should be considered by 1868 // Only unfinished animations should be considered by
1889 // HasOnlyTranslationTransforms. 1869 // HasOnlyTranslationTransforms.
1890 EXPECT_TRUE(controller_impl->HasOnlyTranslationTransforms()); 1870 EXPECT_TRUE(controller_impl->HasOnlyTranslationTransforms());
1891 } 1871 }
1892 1872
1893 TEST(LayerAnimationControllerTest, MaximumTargetScale) { 1873 TEST(LayerAnimationControllerTest, MaximumTargetScale) {
1894 scoped_refptr<LayerAnimationController> controller_impl( 1874 scoped_refptr<LayerAnimationController> controller_impl(
1895 LayerAnimationController::Create(0)); 1875 LayerAnimationController::Create(0));
1896 1876
1897 float max_scale = 0.f; 1877 float max_scale = 0.f;
1898 EXPECT_TRUE(controller_impl->MaximumTargetScale(&max_scale)); 1878 EXPECT_TRUE(controller_impl->MaximumTargetScale(&max_scale));
1899 EXPECT_EQ(0.f, max_scale); 1879 EXPECT_EQ(0.f, max_scale);
1900 1880
1901 scoped_ptr<KeyframedTransformAnimationCurve> curve1( 1881 scoped_ptr<KeyframedTransformAnimationCurve> curve1(
1902 KeyframedTransformAnimationCurve::Create()); 1882 KeyframedTransformAnimationCurve::Create());
1903 1883
1904 TransformOperations operations1; 1884 TransformOperations operations1;
1905 curve1->AddKeyframe(TransformKeyframe::Create( 1885 curve1->AddKeyframe(TransformKeyframe::Create(0.0, operations1, nullptr));
1906 0.0, operations1, scoped_ptr<TimingFunction>()));
1907 operations1.AppendScale(2.0, 3.0, 4.0); 1886 operations1.AppendScale(2.0, 3.0, 4.0);
1908 curve1->AddKeyframe(TransformKeyframe::Create( 1887 curve1->AddKeyframe(TransformKeyframe::Create(1.0, operations1, nullptr));
1909 1.0, operations1, scoped_ptr<TimingFunction>()));
1910 1888
1911 scoped_ptr<Animation> animation( 1889 scoped_ptr<Animation> animation(
1912 Animation::Create(curve1.Pass(), 1, 1, Animation::Transform)); 1890 Animation::Create(curve1.Pass(), 1, 1, Animation::Transform));
1913 controller_impl->AddAnimation(animation.Pass()); 1891 controller_impl->AddAnimation(animation.Pass());
1914 1892
1915 EXPECT_TRUE(controller_impl->MaximumTargetScale(&max_scale)); 1893 EXPECT_TRUE(controller_impl->MaximumTargetScale(&max_scale));
1916 EXPECT_EQ(4.f, max_scale); 1894 EXPECT_EQ(4.f, max_scale);
1917 1895
1918 scoped_ptr<KeyframedTransformAnimationCurve> curve2( 1896 scoped_ptr<KeyframedTransformAnimationCurve> curve2(
1919 KeyframedTransformAnimationCurve::Create()); 1897 KeyframedTransformAnimationCurve::Create());
1920 1898
1921 TransformOperations operations2; 1899 TransformOperations operations2;
1922 curve2->AddKeyframe(TransformKeyframe::Create( 1900 curve2->AddKeyframe(TransformKeyframe::Create(0.0, operations2, nullptr));
1923 0.0, operations2, scoped_ptr<TimingFunction>()));
1924 operations2.AppendScale(6.0, 5.0, 4.0); 1901 operations2.AppendScale(6.0, 5.0, 4.0);
1925 curve2->AddKeyframe(TransformKeyframe::Create( 1902 curve2->AddKeyframe(TransformKeyframe::Create(1.0, operations2, nullptr));
1926 1.0, operations2, scoped_ptr<TimingFunction>()));
1927 1903
1928 animation = Animation::Create(curve2.Pass(), 2, 2, Animation::Transform); 1904 animation = Animation::Create(curve2.Pass(), 2, 2, Animation::Transform);
1929 controller_impl->AddAnimation(animation.Pass()); 1905 controller_impl->AddAnimation(animation.Pass());
1930 1906
1931 EXPECT_TRUE(controller_impl->MaximumTargetScale(&max_scale)); 1907 EXPECT_TRUE(controller_impl->MaximumTargetScale(&max_scale));
1932 EXPECT_EQ(6.f, max_scale); 1908 EXPECT_EQ(6.f, max_scale);
1933 1909
1934 scoped_ptr<KeyframedTransformAnimationCurve> curve3( 1910 scoped_ptr<KeyframedTransformAnimationCurve> curve3(
1935 KeyframedTransformAnimationCurve::Create()); 1911 KeyframedTransformAnimationCurve::Create());
1936 1912
1937 TransformOperations operations3; 1913 TransformOperations operations3;
1938 curve3->AddKeyframe(TransformKeyframe::Create( 1914 curve3->AddKeyframe(TransformKeyframe::Create(0.0, operations3, nullptr));
1939 0.0, operations3, scoped_ptr<TimingFunction>()));
1940 operations3.AppendPerspective(6.0); 1915 operations3.AppendPerspective(6.0);
1941 curve3->AddKeyframe(TransformKeyframe::Create( 1916 curve3->AddKeyframe(TransformKeyframe::Create(1.0, operations3, nullptr));
1942 1.0, operations3, scoped_ptr<TimingFunction>()));
1943 1917
1944 animation = Animation::Create(curve3.Pass(), 3, 3, Animation::Transform); 1918 animation = Animation::Create(curve3.Pass(), 3, 3, Animation::Transform);
1945 controller_impl->AddAnimation(animation.Pass()); 1919 controller_impl->AddAnimation(animation.Pass());
1946 1920
1947 EXPECT_FALSE(controller_impl->MaximumTargetScale(&max_scale)); 1921 EXPECT_FALSE(controller_impl->MaximumTargetScale(&max_scale));
1948 1922
1949 controller_impl->GetAnimation(3, Animation::Transform) 1923 controller_impl->GetAnimation(3, Animation::Transform)
1950 ->SetRunState(Animation::Finished, TicksFromSecondsF(0.0)); 1924 ->SetRunState(Animation::Finished, TicksFromSecondsF(0.0));
1951 controller_impl->GetAnimation(2, Animation::Transform) 1925 controller_impl->GetAnimation(2, Animation::Transform)
1952 ->SetRunState(Animation::Finished, TicksFromSecondsF(0.0)); 1926 ->SetRunState(Animation::Finished, TicksFromSecondsF(0.0));
1953 1927
1954 // Only unfinished animations should be considered by 1928 // Only unfinished animations should be considered by
1955 // MaximumTargetScale. 1929 // MaximumTargetScale.
1956 EXPECT_TRUE(controller_impl->MaximumTargetScale(&max_scale)); 1930 EXPECT_TRUE(controller_impl->MaximumTargetScale(&max_scale));
1957 EXPECT_EQ(4.f, max_scale); 1931 EXPECT_EQ(4.f, max_scale);
1958 } 1932 }
1959 1933
1960 TEST(LayerAnimationControllerTest, MaximumTargetScaleWithDirection) { 1934 TEST(LayerAnimationControllerTest, MaximumTargetScaleWithDirection) {
1961 scoped_refptr<LayerAnimationController> controller_impl( 1935 scoped_refptr<LayerAnimationController> controller_impl(
1962 LayerAnimationController::Create(0)); 1936 LayerAnimationController::Create(0));
1963 1937
1964 scoped_ptr<KeyframedTransformAnimationCurve> curve1( 1938 scoped_ptr<KeyframedTransformAnimationCurve> curve1(
1965 KeyframedTransformAnimationCurve::Create()); 1939 KeyframedTransformAnimationCurve::Create());
1966 TransformOperations operations1; 1940 TransformOperations operations1;
1967 operations1.AppendScale(1.0, 2.0, 3.0); 1941 operations1.AppendScale(1.0, 2.0, 3.0);
1968 curve1->AddKeyframe(TransformKeyframe::Create( 1942 curve1->AddKeyframe(TransformKeyframe::Create(0.0, operations1, nullptr));
1969 0.0, operations1, scoped_ptr<TimingFunction>()));
1970 TransformOperations operations2; 1943 TransformOperations operations2;
1971 operations2.AppendScale(4.0, 5.0, 6.0); 1944 operations2.AppendScale(4.0, 5.0, 6.0);
1972 curve1->AddKeyframe(TransformKeyframe::Create( 1945 curve1->AddKeyframe(TransformKeyframe::Create(1.0, operations2, nullptr));
1973 1.0, operations2, scoped_ptr<TimingFunction>()));
1974 1946
1975 scoped_ptr<Animation> animation_owned( 1947 scoped_ptr<Animation> animation_owned(
1976 Animation::Create(curve1.Pass(), 1, 1, Animation::Transform)); 1948 Animation::Create(curve1.Pass(), 1, 1, Animation::Transform));
1977 Animation* animation = animation_owned.get(); 1949 Animation* animation = animation_owned.get();
1978 controller_impl->AddAnimation(animation_owned.Pass()); 1950 controller_impl->AddAnimation(animation_owned.Pass());
1979 1951
1980 float max_scale = 0.f; 1952 float max_scale = 0.f;
1981 1953
1982 EXPECT_GT(animation->playback_rate(), 0.0); 1954 EXPECT_GT(animation->playback_rate(), 0.0);
1983 1955
(...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after
2321 // been ticked at the new animation's starting point. 2293 // been ticked at the new animation's starting point.
2322 EXPECT_EQ(Animation::Running, 2294 EXPECT_EQ(Animation::Running,
2323 controller_impl->GetAnimation(second_animation_group_id, 2295 controller_impl->GetAnimation(second_animation_group_id,
2324 Animation::Opacity)->run_state()); 2296 Animation::Opacity)->run_state());
2325 EXPECT_EQ(1.f, pending_dummy_impl.opacity()); 2297 EXPECT_EQ(1.f, pending_dummy_impl.opacity());
2326 EXPECT_EQ(1.f, dummy_impl.opacity()); 2298 EXPECT_EQ(1.f, dummy_impl.opacity());
2327 } 2299 }
2328 2300
2329 } // namespace 2301 } // namespace
2330 } // namespace cc 2302 } // namespace cc
OLDNEW
« no previous file with comments | « cc/animation/keyframed_animation_curve_unittest.cc ('k') | cc/debug/micro_benchmark_controller_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698