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

Side by Side Diff: Source/core/animation/AnimationPlayerTest.cpp

Issue 225073004: Oilpan: Completely move core/animations/ to oilpan's heap (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 7 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
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2013, Google Inc. All rights reserved. 2 * Copyright (c) 2013, Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 player->setStartTimeInternal(0); 61 player->setStartTimeInternal(0);
62 player->setSource(makeAnimation().get()); 62 player->setSource(makeAnimation().get());
63 } 63 }
64 64
65 void startTimeline() 65 void startTimeline()
66 { 66 {
67 timeline->setZeroTime(0); 67 timeline->setZeroTime(0);
68 updateTimeline(0); 68 updateTimeline(0);
69 } 69 }
70 70
71 PassRefPtr<Animation> makeAnimation(double duration = 30, double playbackRat e = 1) 71 PassRefPtrWillBeRawPtr<Animation> makeAnimation(double duration = 30, double playbackRate = 1)
72 { 72 {
73 Timing timing; 73 Timing timing;
74 timing.iterationDuration = duration; 74 timing.iterationDuration = duration;
75 timing.playbackRate = playbackRate; 75 timing.playbackRate = playbackRate;
76 return Animation::create(0, nullptr, timing); 76 return Animation::create(0, nullptr, timing);
77 } 77 }
78 78
79 bool updateTimeline(double time) 79 bool updateTimeline(double time)
80 { 80 {
81 document->animationClock().updateTime(time); 81 document->animationClock().updateTime(time);
82 // The timeline does not know about our player, so we have to explicitly call update(). 82 // The timeline does not know about our player, so we have to explicitly call update().
83 return player->update(AnimationPlayer::UpdateOnDemand); 83 return player->update(AnimationPlayer::UpdateOnDemand);
84 } 84 }
85 85
86 RefPtr<Document> document; 86 RefPtr<Document> document;
87 RefPtr<DocumentTimeline> timeline; 87 RefPtrWillBePersistent<DocumentTimeline> timeline;
88 RefPtr<AnimationPlayer> player; 88 RefPtrWillBePersistent<AnimationPlayer> player;
89 TrackExceptionState exceptionState; 89 TrackExceptionState exceptionState;
90 }; 90 };
91 91
92 TEST_F(AnimationAnimationPlayerTest, InitialState) 92 TEST_F(AnimationAnimationPlayerTest, InitialState)
93 { 93 {
94 setUpWithoutStartingTimeline(); 94 setUpWithoutStartingTimeline();
95 player = timeline->createAnimationPlayer(0); 95 player = timeline->createAnimationPlayer(0);
96 EXPECT_TRUE(isNull(timeline->currentTimeInternal())); 96 EXPECT_TRUE(isNull(timeline->currentTimeInternal()));
97 EXPECT_EQ(0, player->currentTimeInternal()); 97 EXPECT_EQ(0, player->currentTimeInternal());
98 EXPECT_FALSE(player->paused()); 98 EXPECT_FALSE(player->paused());
(...skipping 456 matching lines...) Expand 10 before | Expand all | Expand 10 after
555 EXPECT_EQ(0, player->currentTimeInternal()); 555 EXPECT_EQ(0, player->currentTimeInternal());
556 updateTimeline(1); 556 updateTimeline(1);
557 EXPECT_EQ(30, player->currentTimeInternal()); 557 EXPECT_EQ(30, player->currentTimeInternal());
558 } 558 }
559 559
560 560
561 TEST_F(AnimationAnimationPlayerTest, SetSource) 561 TEST_F(AnimationAnimationPlayerTest, SetSource)
562 { 562 {
563 player = timeline->createAnimationPlayer(0); 563 player = timeline->createAnimationPlayer(0);
564 player->setStartTimeInternal(0); 564 player->setStartTimeInternal(0);
565 RefPtr<TimedItem> source1 = makeAnimation(); 565 RefPtrWillBeRawPtr<TimedItem> source1 = makeAnimation();
566 RefPtr<TimedItem> source2 = makeAnimation(); 566 RefPtrWillBeRawPtr<TimedItem> source2 = makeAnimation();
567 player->setSource(source1.get()); 567 player->setSource(source1.get());
568 EXPECT_EQ(source1, player->source()); 568 EXPECT_EQ(source1, player->source());
569 EXPECT_EQ(0, player->currentTimeInternal()); 569 EXPECT_EQ(0, player->currentTimeInternal());
570 player->setCurrentTimeInternal(15); 570 player->setCurrentTimeInternal(15);
571 player->setSource(source2.get()); 571 player->setSource(source2.get());
572 EXPECT_EQ(15, player->currentTimeInternal()); 572 EXPECT_EQ(15, player->currentTimeInternal());
573 EXPECT_EQ(0, source1->player()); 573 EXPECT_EQ(0, source1->player());
574 EXPECT_EQ(player.get(), source2->player()); 574 EXPECT_EQ(player.get(), source2->player());
575 EXPECT_EQ(source2, player->source()); 575 EXPECT_EQ(source2, player->source());
576 } 576 }
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
613 player->setSource(timedItem); 613 player->setSource(timedItem);
614 EXPECT_EQ(0, player2->source()); 614 EXPECT_EQ(0, player2->source());
615 } 615 }
616 616
617 TEST_F(AnimationAnimationPlayerTest, AnimationPlayersReturnTimeToNextEffect) 617 TEST_F(AnimationAnimationPlayerTest, AnimationPlayersReturnTimeToNextEffect)
618 { 618 {
619 Timing timing; 619 Timing timing;
620 timing.startDelay = 1; 620 timing.startDelay = 1;
621 timing.iterationDuration = 1; 621 timing.iterationDuration = 1;
622 timing.endDelay = 1; 622 timing.endDelay = 1;
623 RefPtr<Animation> animation = Animation::create(0, nullptr, timing); 623 RefPtrWillBeRawPtr<Animation> animation = Animation::create(0, nullptr, timi ng);
624 player = timeline->createAnimationPlayer(animation.get()); 624 player = timeline->createAnimationPlayer(animation.get());
625 player->setStartTimeInternal(0); 625 player->setStartTimeInternal(0);
626 626
627 updateTimeline(0); 627 updateTimeline(0);
628 EXPECT_EQ(1, player->timeToEffectChange()); 628 EXPECT_EQ(1, player->timeToEffectChange());
629 629
630 updateTimeline(0.5); 630 updateTimeline(0.5);
631 EXPECT_EQ(0.5, player->timeToEffectChange()); 631 EXPECT_EQ(0.5, player->timeToEffectChange());
632 632
633 updateTimeline(1); 633 updateTimeline(1);
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
690 player->cancel(); 690 player->cancel();
691 player->update(AnimationPlayer::UpdateOnDemand); 691 player->update(AnimationPlayer::UpdateOnDemand);
692 EXPECT_EQ(3, player->timeToEffectChange()); 692 EXPECT_EQ(3, player->timeToEffectChange());
693 } 693 }
694 694
695 TEST_F(AnimationAnimationPlayerTest, AttachedAnimationPlayers) 695 TEST_F(AnimationAnimationPlayerTest, AttachedAnimationPlayers)
696 { 696 {
697 RefPtr<Element> element = document->createElement("foo", ASSERT_NO_EXCEPTION ); 697 RefPtr<Element> element = document->createElement("foo", ASSERT_NO_EXCEPTION );
698 698
699 Timing timing; 699 Timing timing;
700 RefPtr<Animation> animation = Animation::create(element.get(), nullptr, timi ng); 700 RefPtrWillBeRawPtr<Animation> animation = Animation::create(element.get(), n ullptr, timing);
701 RefPtr<AnimationPlayer> player = timeline->createAnimationPlayer(animation.g et()); 701 RefPtrWillBeRawPtr<AnimationPlayer> player = timeline->createAnimationPlayer (animation.get());
702 timeline->serviceAnimations(AnimationPlayer::UpdateForAnimationFrame); 702 timeline->serviceAnimations(AnimationPlayer::UpdateForAnimationFrame);
703 EXPECT_EQ(1, element->activeAnimations()->players().find(player.get())->valu e); 703 EXPECT_EQ(1, element->activeAnimations()->players().find(player.get())->valu e);
704 704
705 player.release(); 705 player.release();
706 EXPECT_EQ(0, element->activeAnimations()->players().find(player.get())->valu e); 706 EXPECT_EQ(0, element->activeAnimations()->players().find(player.get())->valu e);
707 EXPECT_TRUE(element->activeAnimations()->players().isEmpty()); 707 EXPECT_TRUE(element->activeAnimations()->players().isEmpty());
708 } 708 }
709 709
710 TEST_F(AnimationAnimationPlayerTest, HasLowerPriority) 710 TEST_F(AnimationAnimationPlayerTest, HasLowerPriority)
711 { 711 {
712 // Sort time defaults to timeline current time 712 // Sort time defaults to timeline current time
713 updateTimeline(15); 713 updateTimeline(15);
714 RefPtr<AnimationPlayer> player1 = timeline->createAnimationPlayer(0); 714 RefPtrWillBeRawPtr<AnimationPlayer> player1 = timeline->createAnimationPlaye r(0);
715 RefPtr<AnimationPlayer> player2 = timeline->createAnimationPlayer(0); 715 RefPtrWillBeRawPtr<AnimationPlayer> player2 = timeline->createAnimationPlaye r(0);
716 player2->setStartTimeInternal(10); 716 player2->setStartTimeInternal(10);
717 RefPtr<AnimationPlayer> player3 = timeline->createAnimationPlayer(0); 717 RefPtrWillBeRawPtr<AnimationPlayer> player3 = timeline->createAnimationPlaye r(0);
718 RefPtr<AnimationPlayer> player4 = timeline->createAnimationPlayer(0); 718 RefPtrWillBeRawPtr<AnimationPlayer> player4 = timeline->createAnimationPlaye r(0);
719 player4->setStartTimeInternal(20); 719 player4->setStartTimeInternal(20);
720 RefPtr<AnimationPlayer> player5 = timeline->createAnimationPlayer(0); 720 RefPtrWillBeRawPtr<AnimationPlayer> player5 = timeline->createAnimationPlaye r(0);
721 player5->setStartTimeInternal(10); 721 player5->setStartTimeInternal(10);
722 RefPtr<AnimationPlayer> player6 = timeline->createAnimationPlayer(0); 722 RefPtrWillBeRawPtr<AnimationPlayer> player6 = timeline->createAnimationPlaye r(0);
723 player6->setStartTimeInternal(-10); 723 player6->setStartTimeInternal(-10);
724 Vector<RefPtr<AnimationPlayer> > players; 724 Vector<RefPtrWillBeMember<AnimationPlayer> > players;
Mads Ager (chromium) 2014/04/29 10:29:41 WillBeHeapVector, otherwise it will not be traced.
725 players.append(player6); 725 players.append(player6);
726 players.append(player2); 726 players.append(player2);
727 players.append(player5); 727 players.append(player5);
728 players.append(player1); 728 players.append(player1);
729 players.append(player3); 729 players.append(player3);
730 players.append(player4); 730 players.append(player4);
731 for (size_t i = 0; i < players.size(); i++) { 731 for (size_t i = 0; i < players.size(); i++) {
732 for (size_t j = 0; j < players.size(); j++) 732 for (size_t j = 0; j < players.size(); j++)
733 EXPECT_EQ(i < j, AnimationPlayer::hasLowerPriority(players[i].get(), players[j].get())); 733 EXPECT_EQ(i < j, AnimationPlayer::hasLowerPriority(players[i].get(), players[j].get()));
734 } 734 }
735 } 735 }
736 736
737 } 737 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698