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

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

Issue 693883004: Make cc::animation::TrimTimeToCurrentIteration,cc::AnimationCurve::Duration use TimeTicks/TimeDelta (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 1 month 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 655 matching lines...) Expand 10 before | Expand all | Expand 10 after
666 666
667 scoped_ptr<Animation> animation( 667 scoped_ptr<Animation> animation(
668 Animation::Create(curve.Pass(), 1, 0, Animation::ScrollOffset)); 668 Animation::Create(curve.Pass(), 1, 0, Animation::ScrollOffset));
669 animation->set_needs_synchronized_start_time(true); 669 animation->set_needs_synchronized_start_time(true);
670 controller->AddAnimation(animation.Pass()); 670 controller->AddAnimation(animation.Pass());
671 671
672 dummy_provider_impl.set_scroll_offset(initial_value); 672 dummy_provider_impl.set_scroll_offset(initial_value);
673 controller->PushAnimationUpdatesTo(controller_impl.get()); 673 controller->PushAnimationUpdatesTo(controller_impl.get());
674 controller_impl->ActivateAnimations(); 674 controller_impl->ActivateAnimations();
675 EXPECT_TRUE(controller_impl->GetAnimation(Animation::ScrollOffset)); 675 EXPECT_TRUE(controller_impl->GetAnimation(Animation::ScrollOffset));
676 double duration_in_seconds = 676 TimeDelta duration = controller_impl->GetAnimation(Animation::ScrollOffset)
677 controller_impl->GetAnimation(Animation::ScrollOffset) 677 ->curve()
678 ->curve() 678 ->Duration();
679 ->Duration();
680 TimeDelta duration = TimeDelta::FromMicroseconds(
681 duration_in_seconds * base::Time::kMicrosecondsPerSecond);
682 EXPECT_EQ( 679 EXPECT_EQ(
683 duration_in_seconds, 680 duration,
684 controller->GetAnimation(Animation::ScrollOffset)->curve()->Duration()); 681 controller->GetAnimation(Animation::ScrollOffset)->curve()->Duration());
685 682
686 controller->Animate(kInitialTickTime); 683 controller->Animate(kInitialTickTime);
687 controller->UpdateState(true, nullptr); 684 controller->UpdateState(true, nullptr);
688 EXPECT_TRUE(controller->HasActiveAnimation()); 685 EXPECT_TRUE(controller->HasActiveAnimation());
689 EXPECT_EQ(initial_value, dummy.scroll_offset()); 686 EXPECT_EQ(initial_value, dummy.scroll_offset());
690 687
691 controller_impl->Animate(kInitialTickTime); 688 controller_impl->Animate(kInitialTickTime);
692 controller_impl->UpdateState(true, events.get()); 689 controller_impl->UpdateState(true, events.get());
693 EXPECT_TRUE(controller_impl->HasActiveAnimation()); 690 EXPECT_TRUE(controller_impl->HasActiveAnimation());
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
748 745
749 scoped_ptr<Animation> animation( 746 scoped_ptr<Animation> animation(
750 Animation::Create(curve.Pass(), 1, 0, Animation::ScrollOffset)); 747 Animation::Create(curve.Pass(), 1, 0, Animation::ScrollOffset));
751 animation->set_needs_synchronized_start_time(true); 748 animation->set_needs_synchronized_start_time(true);
752 controller->AddAnimation(animation.Pass()); 749 controller->AddAnimation(animation.Pass());
753 750
754 dummy_provider.set_scroll_offset(initial_value); 751 dummy_provider.set_scroll_offset(initial_value);
755 controller->PushAnimationUpdatesTo(controller_impl.get()); 752 controller->PushAnimationUpdatesTo(controller_impl.get());
756 controller_impl->ActivateAnimations(); 753 controller_impl->ActivateAnimations();
757 EXPECT_TRUE(controller_impl->GetAnimation(Animation::ScrollOffset)); 754 EXPECT_TRUE(controller_impl->GetAnimation(Animation::ScrollOffset));
758 double duration_in_seconds = 755 TimeDelta duration = controller_impl->GetAnimation(Animation::ScrollOffset)
759 controller_impl->GetAnimation(Animation::ScrollOffset) 756 ->curve()
760 ->curve() 757 ->Duration();
761 ->Duration();
762 EXPECT_EQ( 758 EXPECT_EQ(
763 duration_in_seconds, 759 duration,
764 controller->GetAnimation(Animation::ScrollOffset)->curve()->Duration()); 760 controller->GetAnimation(Animation::ScrollOffset)->curve()->Duration());
765 761
766 controller->Animate(kInitialTickTime); 762 controller->Animate(kInitialTickTime);
767 controller->UpdateState(true, nullptr); 763 controller->UpdateState(true, nullptr);
768 EXPECT_TRUE(controller->HasActiveAnimation()); 764 EXPECT_TRUE(controller->HasActiveAnimation());
769 EXPECT_EQ(initial_value, dummy.scroll_offset()); 765 EXPECT_EQ(initial_value, dummy.scroll_offset());
770 766
771 controller_impl->Animate(kInitialTickTime); 767 controller_impl->Animate(kInitialTickTime);
772 controller_impl->UpdateState(true, events.get()); 768 controller_impl->UpdateState(true, events.get());
773 EXPECT_TRUE(controller_impl->HasActiveAnimation()); 769 EXPECT_TRUE(controller_impl->HasActiveAnimation());
774 EXPECT_EQ(initial_value, dummy_impl.scroll_offset()); 770 EXPECT_EQ(initial_value, dummy_impl.scroll_offset());
775 // Scroll offset animations should not generate property updates. 771 // Scroll offset animations should not generate property updates.
776 const AnimationEvent* event = GetMostRecentPropertyUpdateEvent(events.get()); 772 const AnimationEvent* event = GetMostRecentPropertyUpdateEvent(events.get());
777 EXPECT_FALSE(event); 773 EXPECT_FALSE(event);
778 774
779 TimeDelta duration = TimeDelta::FromMicroseconds(
780 duration_in_seconds * base::Time::kMicrosecondsPerSecond);
781 775
782 controller->NotifyAnimationStarted((*events)[0]); 776 controller->NotifyAnimationStarted((*events)[0]);
783 controller->Animate(kInitialTickTime + duration / 2); 777 controller->Animate(kInitialTickTime + duration / 2);
784 controller->UpdateState(true, nullptr); 778 controller->UpdateState(true, nullptr);
785 EXPECT_TRUE(controller->HasActiveAnimation()); 779 EXPECT_TRUE(controller->HasActiveAnimation());
786 EXPECT_VECTOR2DF_EQ(gfx::Vector2dF(400.f, 150.f), dummy.scroll_offset()); 780 EXPECT_VECTOR2DF_EQ(gfx::Vector2dF(400.f, 150.f), dummy.scroll_offset());
787 781
788 controller_impl->Animate(kInitialTickTime + duration / 2); 782 controller_impl->Animate(kInitialTickTime + duration / 2);
789 controller_impl->UpdateState(true, events.get()); 783 controller_impl->UpdateState(true, events.get());
790 EXPECT_VECTOR2DF_EQ(gfx::Vector2dF(400.f, 150.f), 784 EXPECT_VECTOR2DF_EQ(gfx::Vector2dF(400.f, 150.f),
(...skipping 22 matching lines...) Expand all
813 scoped_ptr<AnimationEventsVector> events( 807 scoped_ptr<AnimationEventsVector> events(
814 make_scoped_ptr(new AnimationEventsVector)); 808 make_scoped_ptr(new AnimationEventsVector));
815 809
816 gfx::ScrollOffset initial_value(100.f, 300.f); 810 gfx::ScrollOffset initial_value(100.f, 300.f);
817 gfx::ScrollOffset target_value(300.f, 200.f); 811 gfx::ScrollOffset target_value(300.f, 200.f);
818 scoped_ptr<ScrollOffsetAnimationCurve> curve( 812 scoped_ptr<ScrollOffsetAnimationCurve> curve(
819 ScrollOffsetAnimationCurve::Create( 813 ScrollOffsetAnimationCurve::Create(
820 target_value, 814 target_value,
821 EaseInOutTimingFunction::Create().Pass())); 815 EaseInOutTimingFunction::Create().Pass()));
822 curve->SetInitialValue(initial_value); 816 curve->SetInitialValue(initial_value);
823 double duration_in_seconds = curve->Duration(); 817 double duration_in_seconds = curve->Duration().InSecondsF();
824 818
825 scoped_ptr<Animation> animation( 819 scoped_ptr<Animation> animation(
826 Animation::Create(curve.Pass(), 1, 0, Animation::ScrollOffset)); 820 Animation::Create(curve.Pass(), 1, 0, Animation::ScrollOffset));
827 animation->set_is_impl_only(true); 821 animation->set_is_impl_only(true);
828 controller_impl->AddAnimation(animation.Pass()); 822 controller_impl->AddAnimation(animation.Pass());
829 823
830 controller_impl->Animate(kInitialTickTime); 824 controller_impl->Animate(kInitialTickTime);
831 controller_impl->UpdateState(true, events.get()); 825 controller_impl->UpdateState(true, events.get());
832 EXPECT_TRUE(controller_impl->HasActiveAnimation()); 826 EXPECT_TRUE(controller_impl->HasActiveAnimation());
833 EXPECT_EQ(initial_value, dummy_impl.scroll_offset()); 827 EXPECT_EQ(initial_value, dummy_impl.scroll_offset());
(...skipping 1505 matching lines...) Expand 10 before | Expand all | Expand 10 after
2339 EXPECT_FALSE(controller->IsAnimatingProperty(Animation::Opacity)); 2333 EXPECT_FALSE(controller->IsAnimatingProperty(Animation::Opacity));
2340 EXPECT_FALSE(controller->IsAnimatingProperty(Animation::Filter)); 2334 EXPECT_FALSE(controller->IsAnimatingProperty(Animation::Filter));
2341 2335
2342 controller->Animate(kInitialTickTime + TimeDelta::FromMilliseconds(2000)); 2336 controller->Animate(kInitialTickTime + TimeDelta::FromMilliseconds(2000));
2343 controller->UpdateState(true, nullptr); 2337 controller->UpdateState(true, nullptr);
2344 EXPECT_TRUE(controller->IsAnimatingProperty(Animation::Opacity)); 2338 EXPECT_TRUE(controller->IsAnimatingProperty(Animation::Opacity));
2345 } 2339 }
2346 2340
2347 } // namespace 2341 } // namespace
2348 } // namespace cc 2342 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698