| OLD | NEW |
| 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 26 matching lines...) Expand all Loading... |
| 37 #include "core/animation/CompositorAnimationsTestHelper.h" | 37 #include "core/animation/CompositorAnimationsTestHelper.h" |
| 38 #include "core/animation/ElementAnimations.h" | 38 #include "core/animation/ElementAnimations.h" |
| 39 #include "core/animation/KeyframeEffect.h" | 39 #include "core/animation/KeyframeEffect.h" |
| 40 #include "core/animation/animatable/AnimatableDouble.h" | 40 #include "core/animation/animatable/AnimatableDouble.h" |
| 41 #include "core/animation/animatable/AnimatableFilterOperations.h" | 41 #include "core/animation/animatable/AnimatableFilterOperations.h" |
| 42 #include "core/animation/animatable/AnimatableTransform.h" | 42 #include "core/animation/animatable/AnimatableTransform.h" |
| 43 #include "core/animation/animatable/AnimatableValueTestHelper.h" | 43 #include "core/animation/animatable/AnimatableValueTestHelper.h" |
| 44 #include "core/dom/Document.h" | 44 #include "core/dom/Document.h" |
| 45 #include "core/layout/LayoutObject.h" | 45 #include "core/layout/LayoutObject.h" |
| 46 #include "core/testing/DummyPageHolder.h" | 46 #include "core/testing/DummyPageHolder.h" |
| 47 #include "platform/animation/WebCompositorAnimation.h" |
| 47 #include "platform/geometry/FloatBox.h" | 48 #include "platform/geometry/FloatBox.h" |
| 48 #include "platform/geometry/IntSize.h" | 49 #include "platform/geometry/IntSize.h" |
| 49 #include "platform/graphics/filters/FilterOperations.h" | 50 #include "platform/graphics/filters/FilterOperations.h" |
| 50 #include "platform/transforms/TransformOperations.h" | 51 #include "platform/transforms/TransformOperations.h" |
| 51 #include "platform/transforms/TranslateTransformOperation.h" | 52 #include "platform/transforms/TranslateTransformOperation.h" |
| 52 #include "public/platform/WebCompositorAnimation.h" | |
| 53 #include "testing/gmock/include/gmock/gmock.h" | 53 #include "testing/gmock/include/gmock/gmock.h" |
| 54 #include "testing/gtest/include/gtest/gtest.h" | 54 #include "testing/gtest/include/gtest/gtest.h" |
| 55 #include "wtf/HashFunctions.h" | 55 #include "wtf/HashFunctions.h" |
| 56 #include "wtf/OwnPtr.h" | 56 #include "wtf/OwnPtr.h" |
| 57 #include "wtf/PassOwnPtr.h" | 57 #include "wtf/PassOwnPtr.h" |
| 58 #include "wtf/PassRefPtr.h" | 58 #include "wtf/PassRefPtr.h" |
| 59 #include "wtf/RefPtr.h" | 59 #include "wtf/RefPtr.h" |
| 60 | 60 |
| 61 namespace blink { | 61 namespace blink { |
| 62 | 62 |
| (...skipping 14 matching lines...) Expand all Loading... |
| 77 OwnPtr<AnimatableValueKeyframeVector> m_keyframeVector2; | 77 OwnPtr<AnimatableValueKeyframeVector> m_keyframeVector2; |
| 78 Persistent<AnimatableValueKeyframeEffectModel> m_keyframeAnimationEffect2; | 78 Persistent<AnimatableValueKeyframeEffectModel> m_keyframeAnimationEffect2; |
| 79 OwnPtr<AnimatableValueKeyframeVector> m_keyframeVector5; | 79 OwnPtr<AnimatableValueKeyframeVector> m_keyframeVector5; |
| 80 Persistent<AnimatableValueKeyframeEffectModel> m_keyframeAnimationEffect5; | 80 Persistent<AnimatableValueKeyframeEffectModel> m_keyframeAnimationEffect5; |
| 81 | 81 |
| 82 RefPtrWillBePersistent<Document> m_document; | 82 RefPtrWillBePersistent<Document> m_document; |
| 83 RefPtrWillBePersistent<Element> m_element; | 83 RefPtrWillBePersistent<Element> m_element; |
| 84 Persistent<AnimationTimeline> m_timeline; | 84 Persistent<AnimationTimeline> m_timeline; |
| 85 OwnPtr<DummyPageHolder> m_pageHolder; | 85 OwnPtr<DummyPageHolder> m_pageHolder; |
| 86 WebCompositorSupportMock m_mockCompositor; | 86 WebCompositorSupportMock m_mockCompositor; |
| 87 CompositorFactoryMock* m_mockCompositorFactory; |
| 87 | 88 |
| 88 virtual void SetUp() | 89 void SetUp() override |
| 89 { | 90 { |
| 90 AnimationCompositorAnimationsTestBase::SetUp(); | 91 AnimationCompositorAnimationsTestBase::SetUp(); |
| 91 setCompositorForTesting(m_mockCompositor); | 92 setCompositorForTesting(m_mockCompositor); |
| 92 | 93 |
| 94 m_mockCompositorFactory = new CompositorFactoryMock(); |
| 95 CompositorFactory::initializeForTesting(m_mockCompositorFactory); |
| 96 |
| 93 m_linearTimingFunction = LinearTimingFunction::shared(); | 97 m_linearTimingFunction = LinearTimingFunction::shared(); |
| 94 m_cubicEaseTimingFunction = CubicBezierTimingFunction::preset(CubicBezie
rTimingFunction::Ease); | 98 m_cubicEaseTimingFunction = CubicBezierTimingFunction::preset(CubicBezie
rTimingFunction::Ease); |
| 95 m_cubicCustomTimingFunction = CubicBezierTimingFunction::create(1, 2, 3,
4); | 99 m_cubicCustomTimingFunction = CubicBezierTimingFunction::create(1, 2, 3,
4); |
| 96 m_stepTimingFunction = StepsTimingFunction::create(1, StepsTimingFunctio
n::End); | 100 m_stepTimingFunction = StepsTimingFunction::create(1, StepsTimingFunctio
n::End); |
| 97 | 101 |
| 98 m_timing = createCompositableTiming(); | 102 m_timing = createCompositableTiming(); |
| 99 m_compositorTiming = CompositorAnimationsImpl::CompositorTiming(); | 103 m_compositorTiming = CompositorAnimationsImpl::CompositorTiming(); |
| 100 // Make sure the CompositableTiming is really compositable, otherwise | 104 // Make sure the CompositableTiming is really compositable, otherwise |
| 101 // most other tests will fail. | 105 // most other tests will fail. |
| 102 ASSERT(convertTimingForCompositor(m_timing, m_compositorTiming)); | 106 ASSERT(convertTimingForCompositor(m_timing, m_compositorTiming)); |
| 103 | 107 |
| 104 m_keyframeVector2 = createCompositableFloatKeyframeVector(2); | 108 m_keyframeVector2 = createCompositableFloatKeyframeVector(2); |
| 105 m_keyframeAnimationEffect2 = AnimatableValueKeyframeEffectModel::create(
*m_keyframeVector2); | 109 m_keyframeAnimationEffect2 = AnimatableValueKeyframeEffectModel::create(
*m_keyframeVector2); |
| 106 | 110 |
| 107 m_keyframeVector5 = createCompositableFloatKeyframeVector(5); | 111 m_keyframeVector5 = createCompositableFloatKeyframeVector(5); |
| 108 m_keyframeAnimationEffect5 = AnimatableValueKeyframeEffectModel::create(
*m_keyframeVector5); | 112 m_keyframeAnimationEffect5 = AnimatableValueKeyframeEffectModel::create(
*m_keyframeVector5); |
| 109 | 113 |
| 110 if (RuntimeEnabledFeatures::compositorAnimationTimelinesEnabled()) { | 114 if (RuntimeEnabledFeatures::compositorAnimationTimelinesEnabled()) { |
| 111 EXPECT_CALL(m_mockCompositor, createAnimationTimeline()) | 115 EXPECT_CALL(*m_mockCompositorFactory, createAnimationTimeline()) |
| 112 .WillOnce(Return(new WebCompositorAnimationTimelineMock())); | 116 .WillOnce(Return(new WebCompositorAnimationTimelineMock())); |
| 113 } | 117 } |
| 114 m_pageHolder = DummyPageHolder::create(); | 118 m_pageHolder = DummyPageHolder::create(); |
| 115 m_document = &m_pageHolder->document(); | 119 m_document = &m_pageHolder->document(); |
| 116 m_document->animationClock().resetTimeForTesting(); | 120 m_document->animationClock().resetTimeForTesting(); |
| 117 | 121 |
| 118 if (RuntimeEnabledFeatures::compositorAnimationTimelinesEnabled()) { | 122 if (RuntimeEnabledFeatures::compositorAnimationTimelinesEnabled()) { |
| 119 EXPECT_CALL(m_mockCompositor, createAnimationTimeline()) | 123 EXPECT_CALL(*m_mockCompositorFactory, createAnimationTimeline()) |
| 120 .WillOnce(Return(new WebCompositorAnimationTimelineMock())); | 124 .WillOnce(Return(new WebCompositorAnimationTimelineMock())); |
| 121 } | 125 } |
| 122 m_timeline = AnimationTimeline::create(m_document.get()); | 126 m_timeline = AnimationTimeline::create(m_document.get()); |
| 123 m_timeline->resetForTesting(); | 127 m_timeline->resetForTesting(); |
| 124 m_element = m_document->createElement("test", ASSERT_NO_EXCEPTION); | 128 m_element = m_document->createElement("test", ASSERT_NO_EXCEPTION); |
| 125 } | 129 } |
| 126 | 130 |
| 131 void TearDown() override |
| 132 { |
| 133 CompositorFactory::shutdown(); |
| 134 m_mockCompositorFactory = nullptr; |
| 135 } |
| 136 |
| 127 public: | 137 public: |
| 128 | |
| 129 bool convertTimingForCompositor(const Timing& t, CompositorAnimationsImpl::C
ompositorTiming& out) | 138 bool convertTimingForCompositor(const Timing& t, CompositorAnimationsImpl::C
ompositorTiming& out) |
| 130 { | 139 { |
| 131 return CompositorAnimationsImpl::convertTimingForCompositor(t, 0, out, 1
); | 140 return CompositorAnimationsImpl::convertTimingForCompositor(t, 0, out, 1
); |
| 132 } | 141 } |
| 133 bool isCandidateForAnimationOnCompositor(const Timing& timing, const EffectM
odel& effect) | 142 bool isCandidateForAnimationOnCompositor(const Timing& timing, const EffectM
odel& effect) |
| 134 { | 143 { |
| 135 return CompositorAnimations::instance()->isCandidateForAnimationOnCompos
itor(timing, *m_element.get(), nullptr, effect, 1); | 144 return CompositorAnimations::instance()->isCandidateForAnimationOnCompos
itor(timing, *m_element.get(), nullptr, effect, 1); |
| 136 } | 145 } |
| 137 void getAnimationOnCompositor(Timing& timing, AnimatableValueKeyframeEffectM
odel& effect, Vector<OwnPtr<WebCompositorAnimation>>& animations) | 146 void getAnimationOnCompositor(Timing& timing, AnimatableValueKeyframeEffectM
odel& effect, Vector<OwnPtr<WebCompositorAnimation>>& animations) |
| 138 { | 147 { |
| (...skipping 509 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 648 { | 657 { |
| 649 // KeyframeEffect to convert | 658 // KeyframeEffect to convert |
| 650 AnimatableValueKeyframeEffectModel* effect = createKeyframeEffectModel( | 659 AnimatableValueKeyframeEffectModel* effect = createKeyframeEffectModel( |
| 651 createReplaceOpKeyframe(CSSPropertyOpacity, AnimatableDouble::create(2.0
).get(), 0), | 660 createReplaceOpKeyframe(CSSPropertyOpacity, AnimatableDouble::create(2.0
).get(), 0), |
| 652 createReplaceOpKeyframe(CSSPropertyOpacity, AnimatableDouble::create(5.0
).get(), 1.0)); | 661 createReplaceOpKeyframe(CSSPropertyOpacity, AnimatableDouble::create(5.0
).get(), 1.0)); |
| 653 // -- | 662 // -- |
| 654 | 663 |
| 655 // Curve is created | 664 // Curve is created |
| 656 WebFloatAnimationCurveMock* mockCurvePtr = new WebFloatAnimationCurveMock; | 665 WebFloatAnimationCurveMock* mockCurvePtr = new WebFloatAnimationCurveMock; |
| 657 ExpectationSet usesMockCurve; | 666 ExpectationSet usesMockCurve; |
| 658 EXPECT_CALL(m_mockCompositor, createFloatAnimationCurve()) | 667 EXPECT_CALL(*m_mockCompositorFactory, createFloatAnimationCurve()) |
| 659 .WillOnce(Return(mockCurvePtr)); | 668 .WillOnce(Return(mockCurvePtr)); |
| 660 | 669 |
| 661 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(0.0, 2.0),
WebCompositorAnimationCurve::TimingFunctionTypeLinear)); | 670 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(0.0, 2.0),
WebCompositorAnimationCurve::TimingFunctionTypeLinear)); |
| 662 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(1.0, 5.0)))
; | 671 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(1.0, 5.0)))
; |
| 663 | 672 |
| 664 // Create animation | 673 // Create animation |
| 665 WebCompositorAnimationMock* mockAnimationPtr = new WebCompositorAnimationMoc
k(WebCompositorAnimation::TargetPropertyOpacity); | 674 WebCompositorAnimationMock* mockAnimationPtr = new WebCompositorAnimationMoc
k(WebCompositorAnimation::TargetPropertyOpacity); |
| 666 ExpectationSet usesMockAnimation; | 675 ExpectationSet usesMockAnimation; |
| 667 | 676 |
| 668 usesMockCurve += EXPECT_CALL(m_mockCompositor, createAnimation(Ref(*mockCurv
ePtr), WebCompositorAnimation::TargetPropertyOpacity, _, _)) | 677 usesMockCurve += EXPECT_CALL(*m_mockCompositorFactory, createAnimation(Ref(*
mockCurvePtr), WebCompositorAnimation::TargetPropertyOpacity, _, _)) |
| 669 .WillOnce(Return(mockAnimationPtr)); | 678 .WillOnce(Return(mockAnimationPtr)); |
| 670 | 679 |
| 671 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setIterations(1)); | 680 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setIterations(1)); |
| 672 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setTimeOffset(0.0)); | 681 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setTimeOffset(0.0)); |
| 673 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setDirection(WebComposit
orAnimation::DirectionNormal)); | 682 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setDirection(WebComposit
orAnimation::DirectionNormal)); |
| 674 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setPlaybackRate(1)); | 683 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setPlaybackRate(1)); |
| 675 | 684 |
| 676 EXPECT_CALL(*mockAnimationPtr, delete_()) | 685 EXPECT_CALL(*mockAnimationPtr, delete_()) |
| 677 .Times(1) | 686 .Times(1) |
| 678 .After(usesMockAnimation); | 687 .After(usesMockAnimation); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 693 AnimatableValueKeyframeEffectModel* effect = createKeyframeEffectModel( | 702 AnimatableValueKeyframeEffectModel* effect = createKeyframeEffectModel( |
| 694 createReplaceOpKeyframe(CSSPropertyOpacity, AnimatableDouble::create(2.0
).get(), 0), | 703 createReplaceOpKeyframe(CSSPropertyOpacity, AnimatableDouble::create(2.0
).get(), 0), |
| 695 createReplaceOpKeyframe(CSSPropertyOpacity, AnimatableDouble::create(5.0
).get(), 1.0)); | 704 createReplaceOpKeyframe(CSSPropertyOpacity, AnimatableDouble::create(5.0
).get(), 1.0)); |
| 696 | 705 |
| 697 m_timing.iterationDuration = 10.0; | 706 m_timing.iterationDuration = 10.0; |
| 698 // -- | 707 // -- |
| 699 | 708 |
| 700 // Curve is created | 709 // Curve is created |
| 701 WebFloatAnimationCurveMock* mockCurvePtr = new WebFloatAnimationCurveMock; | 710 WebFloatAnimationCurveMock* mockCurvePtr = new WebFloatAnimationCurveMock; |
| 702 ExpectationSet usesMockCurve; | 711 ExpectationSet usesMockCurve; |
| 703 EXPECT_CALL(m_mockCompositor, createFloatAnimationCurve()) | 712 EXPECT_CALL(*m_mockCompositorFactory, createFloatAnimationCurve()) |
| 704 .WillOnce(Return(mockCurvePtr)); | 713 .WillOnce(Return(mockCurvePtr)); |
| 705 | 714 |
| 706 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(0.0, 2.0),
WebCompositorAnimationCurve::TimingFunctionTypeLinear)); | 715 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(0.0, 2.0),
WebCompositorAnimationCurve::TimingFunctionTypeLinear)); |
| 707 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(10.0, 5.0))
); | 716 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(10.0, 5.0))
); |
| 708 | 717 |
| 709 // Create animation | 718 // Create animation |
| 710 WebCompositorAnimationMock* mockAnimationPtr = new WebCompositorAnimationMoc
k(WebCompositorAnimation::TargetPropertyOpacity); | 719 WebCompositorAnimationMock* mockAnimationPtr = new WebCompositorAnimationMoc
k(WebCompositorAnimation::TargetPropertyOpacity); |
| 711 ExpectationSet usesMockAnimation; | 720 ExpectationSet usesMockAnimation; |
| 712 | 721 |
| 713 usesMockCurve += EXPECT_CALL(m_mockCompositor, createAnimation(Ref(*mockCurv
ePtr), WebCompositorAnimation::TargetPropertyOpacity, _, _)) | 722 usesMockCurve += EXPECT_CALL(*m_mockCompositorFactory, createAnimation(Ref(*
mockCurvePtr), WebCompositorAnimation::TargetPropertyOpacity, _, _)) |
| 714 .WillOnce(Return(mockAnimationPtr)); | 723 .WillOnce(Return(mockAnimationPtr)); |
| 715 | 724 |
| 716 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setIterations(1)); | 725 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setIterations(1)); |
| 717 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setTimeOffset(0.0)); | 726 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setTimeOffset(0.0)); |
| 718 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setDirection(WebComposit
orAnimation::DirectionNormal)); | 727 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setDirection(WebComposit
orAnimation::DirectionNormal)); |
| 719 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setPlaybackRate(1)); | 728 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setPlaybackRate(1)); |
| 720 | 729 |
| 721 EXPECT_CALL(*mockAnimationPtr, delete_()) | 730 EXPECT_CALL(*mockAnimationPtr, delete_()) |
| 722 .Times(1) | 731 .Times(1) |
| 723 .After(usesMockAnimation); | 732 .After(usesMockAnimation); |
| (...skipping 19 matching lines...) Expand all Loading... |
| 743 | 752 |
| 744 m_timing.iterationCount = 5; | 753 m_timing.iterationCount = 5; |
| 745 m_timing.direction = Timing::PlaybackDirectionAlternate; | 754 m_timing.direction = Timing::PlaybackDirectionAlternate; |
| 746 m_timing.playbackRate = 2.0; | 755 m_timing.playbackRate = 2.0; |
| 747 // -- | 756 // -- |
| 748 | 757 |
| 749 // Curve is created | 758 // Curve is created |
| 750 WebFloatAnimationCurveMock* mockCurvePtr = new WebFloatAnimationCurveMock(); | 759 WebFloatAnimationCurveMock* mockCurvePtr = new WebFloatAnimationCurveMock(); |
| 751 ExpectationSet usesMockCurve; | 760 ExpectationSet usesMockCurve; |
| 752 | 761 |
| 753 EXPECT_CALL(m_mockCompositor, createFloatAnimationCurve()) | 762 EXPECT_CALL(*m_mockCompositorFactory, createFloatAnimationCurve()) |
| 754 .WillOnce(Return(mockCurvePtr)); | 763 .WillOnce(Return(mockCurvePtr)); |
| 755 | 764 |
| 756 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(0.0, 2.0),
WebCompositorAnimationCurve::TimingFunctionTypeLinear)); | 765 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(0.0, 2.0),
WebCompositorAnimationCurve::TimingFunctionTypeLinear)); |
| 757 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(0.25, -1.0)
, WebCompositorAnimationCurve::TimingFunctionTypeLinear)); | 766 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(0.25, -1.0)
, WebCompositorAnimationCurve::TimingFunctionTypeLinear)); |
| 758 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(0.5, 20.0),
WebCompositorAnimationCurve::TimingFunctionTypeLinear)); | 767 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(0.5, 20.0),
WebCompositorAnimationCurve::TimingFunctionTypeLinear)); |
| 759 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(1.0, 5.0)))
; | 768 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(1.0, 5.0)))
; |
| 760 | 769 |
| 761 // KeyframeEffect is created | 770 // KeyframeEffect is created |
| 762 WebCompositorAnimationMock* mockAnimationPtr = new WebCompositorAnimationMoc
k(WebCompositorAnimation::TargetPropertyOpacity); | 771 WebCompositorAnimationMock* mockAnimationPtr = new WebCompositorAnimationMoc
k(WebCompositorAnimation::TargetPropertyOpacity); |
| 763 ExpectationSet usesMockAnimation; | 772 ExpectationSet usesMockAnimation; |
| 764 | 773 |
| 765 usesMockCurve += EXPECT_CALL(m_mockCompositor, createAnimation(Ref(*mockCurv
ePtr), WebCompositorAnimation::TargetPropertyOpacity, _, _)) | 774 usesMockCurve += EXPECT_CALL(*m_mockCompositorFactory, createAnimation(Ref(*
mockCurvePtr), WebCompositorAnimation::TargetPropertyOpacity, _, _)) |
| 766 .WillOnce(Return(mockAnimationPtr)); | 775 .WillOnce(Return(mockAnimationPtr)); |
| 767 | 776 |
| 768 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setIterations(5)); | 777 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setIterations(5)); |
| 769 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setTimeOffset(0.0)); | 778 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setTimeOffset(0.0)); |
| 770 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setDirection(WebComposit
orAnimation::DirectionAlternate)); | 779 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setDirection(WebComposit
orAnimation::DirectionAlternate)); |
| 771 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setPlaybackRate(2.0)); | 780 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setPlaybackRate(2.0)); |
| 772 | 781 |
| 773 EXPECT_CALL(*mockAnimationPtr, delete_()) | 782 EXPECT_CALL(*mockAnimationPtr, delete_()) |
| 774 .Times(1) | 783 .Times(1) |
| 775 .After(usesMockAnimation); | 784 .After(usesMockAnimation); |
| (...skipping 16 matching lines...) Expand all Loading... |
| 792 createReplaceOpKeyframe(CSSPropertyOpacity, AnimatableDouble::create(5.0
).get(), 1.0)); | 801 createReplaceOpKeyframe(CSSPropertyOpacity, AnimatableDouble::create(5.0
).get(), 1.0)); |
| 793 | 802 |
| 794 m_timing.iterationCount = 5.0; | 803 m_timing.iterationCount = 5.0; |
| 795 m_timing.iterationDuration = 1.75; | 804 m_timing.iterationDuration = 1.75; |
| 796 m_timing.startDelay = 3.25; | 805 m_timing.startDelay = 3.25; |
| 797 // -- | 806 // -- |
| 798 | 807 |
| 799 // Curve is created | 808 // Curve is created |
| 800 WebFloatAnimationCurveMock* mockCurvePtr = new WebFloatAnimationCurveMock; | 809 WebFloatAnimationCurveMock* mockCurvePtr = new WebFloatAnimationCurveMock; |
| 801 ExpectationSet usesMockCurve; | 810 ExpectationSet usesMockCurve; |
| 802 EXPECT_CALL(m_mockCompositor, createFloatAnimationCurve()) | 811 EXPECT_CALL(*m_mockCompositorFactory, createFloatAnimationCurve()) |
| 803 .WillOnce(Return(mockCurvePtr)); | 812 .WillOnce(Return(mockCurvePtr)); |
| 804 | 813 |
| 805 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(0.0, 2.0),
WebCompositorAnimationCurve::TimingFunctionTypeLinear)); | 814 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(0.0, 2.0),
WebCompositorAnimationCurve::TimingFunctionTypeLinear)); |
| 806 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(1.75, 5.0))
); | 815 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(1.75, 5.0))
); |
| 807 | 816 |
| 808 // Create animation | 817 // Create animation |
| 809 WebCompositorAnimationMock* mockAnimationPtr = new WebCompositorAnimationMoc
k(WebCompositorAnimation::TargetPropertyOpacity); | 818 WebCompositorAnimationMock* mockAnimationPtr = new WebCompositorAnimationMoc
k(WebCompositorAnimation::TargetPropertyOpacity); |
| 810 ExpectationSet usesMockAnimation; | 819 ExpectationSet usesMockAnimation; |
| 811 | 820 |
| 812 usesMockCurve += EXPECT_CALL(m_mockCompositor, createAnimation(Ref(*mockCurv
ePtr), WebCompositorAnimation::TargetPropertyOpacity, _, _)) | 821 usesMockCurve += EXPECT_CALL(*m_mockCompositorFactory, createAnimation(Ref(*
mockCurvePtr), WebCompositorAnimation::TargetPropertyOpacity, _, _)) |
| 813 .WillOnce(Return(mockAnimationPtr)); | 822 .WillOnce(Return(mockAnimationPtr)); |
| 814 | 823 |
| 815 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setIterations(5)); | 824 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setIterations(5)); |
| 816 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setTimeOffset(-3.25)); | 825 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setTimeOffset(-3.25)); |
| 817 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setDirection(WebComposit
orAnimation::DirectionNormal)); | 826 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setDirection(WebComposit
orAnimation::DirectionNormal)); |
| 818 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setPlaybackRate(1)); | 827 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setPlaybackRate(1)); |
| 819 | 828 |
| 820 EXPECT_CALL(*mockAnimationPtr, delete_()) | 829 EXPECT_CALL(*mockAnimationPtr, delete_()) |
| 821 .Times(1) | 830 .Times(1) |
| 822 .After(usesMockAnimation); | 831 .After(usesMockAnimation); |
| (...skipping 24 matching lines...) Expand all Loading... |
| 847 m_timing.timingFunction = m_linearTimingFunction.get(); | 856 m_timing.timingFunction = m_linearTimingFunction.get(); |
| 848 m_timing.iterationDuration = 2.0; | 857 m_timing.iterationDuration = 2.0; |
| 849 m_timing.iterationCount = 10; | 858 m_timing.iterationCount = 10; |
| 850 m_timing.direction = Timing::PlaybackDirectionAlternate; | 859 m_timing.direction = Timing::PlaybackDirectionAlternate; |
| 851 // -- | 860 // -- |
| 852 | 861 |
| 853 // Curve is created | 862 // Curve is created |
| 854 WebFloatAnimationCurveMock* mockCurvePtr = new WebFloatAnimationCurveMock(); | 863 WebFloatAnimationCurveMock* mockCurvePtr = new WebFloatAnimationCurveMock(); |
| 855 ExpectationSet usesMockCurve; | 864 ExpectationSet usesMockCurve; |
| 856 | 865 |
| 857 EXPECT_CALL(m_mockCompositor, createFloatAnimationCurve()) | 866 EXPECT_CALL(*m_mockCompositorFactory, createFloatAnimationCurve()) |
| 858 .WillOnce(Return(mockCurvePtr)); | 867 .WillOnce(Return(mockCurvePtr)); |
| 859 | 868 |
| 860 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(0.0, 2.0),
WebCompositorAnimationCurve::TimingFunctionTypeEase)); | 869 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(0.0, 2.0),
WebCompositorAnimationCurve::TimingFunctionTypeEase)); |
| 861 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(0.5, -1.0),
WebCompositorAnimationCurve::TimingFunctionTypeLinear)); | 870 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(0.5, -1.0),
WebCompositorAnimationCurve::TimingFunctionTypeLinear)); |
| 862 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(1.0, 20.0),
1.0, 2.0, 3.0, 4.0)); | 871 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(1.0, 20.0),
1.0, 2.0, 3.0, 4.0)); |
| 863 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(2.0, 5.0)))
; | 872 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(2.0, 5.0)))
; |
| 864 | 873 |
| 865 // KeyframeEffect is created | 874 // KeyframeEffect is created |
| 866 WebCompositorAnimationMock* mockAnimationPtr = new WebCompositorAnimationMoc
k(WebCompositorAnimation::TargetPropertyOpacity); | 875 WebCompositorAnimationMock* mockAnimationPtr = new WebCompositorAnimationMoc
k(WebCompositorAnimation::TargetPropertyOpacity); |
| 867 ExpectationSet usesMockAnimation; | 876 ExpectationSet usesMockAnimation; |
| 868 | 877 |
| 869 usesMockCurve += EXPECT_CALL(m_mockCompositor, createAnimation(Ref(*mockCurv
ePtr), WebCompositorAnimation::TargetPropertyOpacity, _, _)) | 878 usesMockCurve += EXPECT_CALL(*m_mockCompositorFactory, createAnimation(Ref(*
mockCurvePtr), WebCompositorAnimation::TargetPropertyOpacity, _, _)) |
| 870 .WillOnce(Return(mockAnimationPtr)); | 879 .WillOnce(Return(mockAnimationPtr)); |
| 871 | 880 |
| 872 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setIterations(10)); | 881 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setIterations(10)); |
| 873 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setTimeOffset(0.0)); | 882 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setTimeOffset(0.0)); |
| 874 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setDirection(WebComposit
orAnimation::DirectionAlternate)); | 883 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setDirection(WebComposit
orAnimation::DirectionAlternate)); |
| 875 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setPlaybackRate(1)); | 884 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setPlaybackRate(1)); |
| 876 | 885 |
| 877 EXPECT_CALL(*mockAnimationPtr, delete_()) | 886 EXPECT_CALL(*mockAnimationPtr, delete_()) |
| 878 .Times(1) | 887 .Times(1) |
| 879 .After(usesMockAnimation); | 888 .After(usesMockAnimation); |
| (...skipping 25 matching lines...) Expand all Loading... |
| 905 | 914 |
| 906 m_timing.timingFunction = m_linearTimingFunction.get(); | 915 m_timing.timingFunction = m_linearTimingFunction.get(); |
| 907 m_timing.iterationCount = 10; | 916 m_timing.iterationCount = 10; |
| 908 m_timing.direction = Timing::PlaybackDirectionAlternateReverse; | 917 m_timing.direction = Timing::PlaybackDirectionAlternateReverse; |
| 909 // -- | 918 // -- |
| 910 | 919 |
| 911 // Curve is created | 920 // Curve is created |
| 912 WebFloatAnimationCurveMock* mockCurvePtr = new WebFloatAnimationCurveMock(); | 921 WebFloatAnimationCurveMock* mockCurvePtr = new WebFloatAnimationCurveMock(); |
| 913 ExpectationSet usesMockCurve; | 922 ExpectationSet usesMockCurve; |
| 914 | 923 |
| 915 EXPECT_CALL(m_mockCompositor, createFloatAnimationCurve()) | 924 EXPECT_CALL(*m_mockCompositorFactory, createFloatAnimationCurve()) |
| 916 .WillOnce(Return(mockCurvePtr)); | 925 .WillOnce(Return(mockCurvePtr)); |
| 917 | 926 |
| 918 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(0.0, 2.0),
WebCompositorAnimationCurve::TimingFunctionTypeEaseIn)); | 927 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(0.0, 2.0),
WebCompositorAnimationCurve::TimingFunctionTypeEaseIn)); |
| 919 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(0.25, -1.0)
, WebCompositorAnimationCurve::TimingFunctionTypeLinear)); | 928 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(0.25, -1.0)
, WebCompositorAnimationCurve::TimingFunctionTypeLinear)); |
| 920 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(0.5, 20.0),
0.0, 0.0, 0.0, 1.0)); | 929 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(0.5, 20.0),
0.0, 0.0, 0.0, 1.0)); |
| 921 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(1.0, 5.0)))
; | 930 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(1.0, 5.0)))
; |
| 922 | 931 |
| 923 // Create the animation | 932 // Create the animation |
| 924 WebCompositorAnimationMock* mockAnimationPtr = new WebCompositorAnimationMoc
k(WebCompositorAnimation::TargetPropertyOpacity); | 933 WebCompositorAnimationMock* mockAnimationPtr = new WebCompositorAnimationMoc
k(WebCompositorAnimation::TargetPropertyOpacity); |
| 925 ExpectationSet usesMockAnimation; | 934 ExpectationSet usesMockAnimation; |
| 926 | 935 |
| 927 usesMockCurve += EXPECT_CALL(m_mockCompositor, createAnimation(Ref(*mockCurv
ePtr), WebCompositorAnimation::TargetPropertyOpacity, _, _)) | 936 usesMockCurve += EXPECT_CALL(*m_mockCompositorFactory, createAnimation(Ref(*
mockCurvePtr), WebCompositorAnimation::TargetPropertyOpacity, _, _)) |
| 928 .WillOnce(Return(mockAnimationPtr)); | 937 .WillOnce(Return(mockAnimationPtr)); |
| 929 | 938 |
| 930 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setIterations(10)); | 939 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setIterations(10)); |
| 931 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setTimeOffset(0.0)); | 940 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setTimeOffset(0.0)); |
| 932 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setDirection(WebComposit
orAnimation::DirectionAlternateReverse)); | 941 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setDirection(WebComposit
orAnimation::DirectionAlternateReverse)); |
| 933 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setPlaybackRate(1)); | 942 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setPlaybackRate(1)); |
| 934 | 943 |
| 935 EXPECT_CALL(*mockAnimationPtr, delete_()) | 944 EXPECT_CALL(*mockAnimationPtr, delete_()) |
| 936 .Times(1) | 945 .Times(1) |
| 937 .After(usesMockAnimation); | 946 .After(usesMockAnimation); |
| (...skipping 17 matching lines...) Expand all Loading... |
| 955 | 964 |
| 956 m_timing.iterationCount = 5.0; | 965 m_timing.iterationCount = 5.0; |
| 957 m_timing.iterationDuration = 1.5; | 966 m_timing.iterationDuration = 1.5; |
| 958 m_timing.startDelay = -3; | 967 m_timing.startDelay = -3; |
| 959 m_timing.direction = Timing::PlaybackDirectionAlternateReverse; | 968 m_timing.direction = Timing::PlaybackDirectionAlternateReverse; |
| 960 // -- | 969 // -- |
| 961 | 970 |
| 962 // Curve is created | 971 // Curve is created |
| 963 WebFloatAnimationCurveMock* mockCurvePtr = new WebFloatAnimationCurveMock; | 972 WebFloatAnimationCurveMock* mockCurvePtr = new WebFloatAnimationCurveMock; |
| 964 ExpectationSet usesMockCurve; | 973 ExpectationSet usesMockCurve; |
| 965 EXPECT_CALL(m_mockCompositor, createFloatAnimationCurve()) | 974 EXPECT_CALL(*m_mockCompositorFactory, createFloatAnimationCurve()) |
| 966 .WillOnce(Return(mockCurvePtr)); | 975 .WillOnce(Return(mockCurvePtr)); |
| 967 | 976 |
| 968 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(0.0, 2.0),
WebCompositorAnimationCurve::TimingFunctionTypeLinear)); | 977 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(0.0, 2.0),
WebCompositorAnimationCurve::TimingFunctionTypeLinear)); |
| 969 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(1.5, 5.0)))
; | 978 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(1.5, 5.0)))
; |
| 970 | 979 |
| 971 // Create animation | 980 // Create animation |
| 972 WebCompositorAnimationMock* mockAnimationPtr = new WebCompositorAnimationMoc
k(WebCompositorAnimation::TargetPropertyOpacity); | 981 WebCompositorAnimationMock* mockAnimationPtr = new WebCompositorAnimationMoc
k(WebCompositorAnimation::TargetPropertyOpacity); |
| 973 ExpectationSet usesMockAnimation; | 982 ExpectationSet usesMockAnimation; |
| 974 | 983 |
| 975 usesMockCurve += EXPECT_CALL(m_mockCompositor, createAnimation(Ref(*mockCurv
ePtr), WebCompositorAnimation::TargetPropertyOpacity, _, _)) | 984 usesMockCurve += EXPECT_CALL(*m_mockCompositorFactory, createAnimation(Ref(*
mockCurvePtr), WebCompositorAnimation::TargetPropertyOpacity, _, _)) |
| 976 .WillOnce(Return(mockAnimationPtr)); | 985 .WillOnce(Return(mockAnimationPtr)); |
| 977 | 986 |
| 978 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setIterations(5)); | 987 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setIterations(5)); |
| 979 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setTimeOffset(3.0)); | 988 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setTimeOffset(3.0)); |
| 980 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setDirection(WebComposit
orAnimation::DirectionAlternateReverse)); | 989 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setDirection(WebComposit
orAnimation::DirectionAlternateReverse)); |
| 981 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setPlaybackRate(1)); | 990 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setPlaybackRate(1)); |
| 982 | 991 |
| 983 EXPECT_CALL(*mockAnimationPtr, delete_()) | 992 EXPECT_CALL(*mockAnimationPtr, delete_()) |
| 984 .Times(1) | 993 .Times(1) |
| 985 .After(usesMockAnimation); | 994 .After(usesMockAnimation); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 1000 AnimatableValueKeyframeEffectModel* effect = createKeyframeEffectModel( | 1009 AnimatableValueKeyframeEffectModel* effect = createKeyframeEffectModel( |
| 1001 createReplaceOpKeyframe(CSSPropertyOpacity, AnimatableDouble::create(2.0
).get(), 0), | 1010 createReplaceOpKeyframe(CSSPropertyOpacity, AnimatableDouble::create(2.0
).get(), 0), |
| 1002 createReplaceOpKeyframe(CSSPropertyOpacity, AnimatableDouble::create(5.0
).get(), 1.0)); | 1011 createReplaceOpKeyframe(CSSPropertyOpacity, AnimatableDouble::create(5.0
).get(), 1.0)); |
| 1003 | 1012 |
| 1004 m_timing.playbackRate = 2; | 1013 m_timing.playbackRate = 2; |
| 1005 // -- | 1014 // -- |
| 1006 | 1015 |
| 1007 // Curve is created | 1016 // Curve is created |
| 1008 WebFloatAnimationCurveMock* mockCurvePtr = new WebFloatAnimationCurveMock; | 1017 WebFloatAnimationCurveMock* mockCurvePtr = new WebFloatAnimationCurveMock; |
| 1009 ExpectationSet usesMockCurve; | 1018 ExpectationSet usesMockCurve; |
| 1010 EXPECT_CALL(m_mockCompositor, createFloatAnimationCurve()) | 1019 EXPECT_CALL(*m_mockCompositorFactory, createFloatAnimationCurve()) |
| 1011 .WillOnce(Return(mockCurvePtr)); | 1020 .WillOnce(Return(mockCurvePtr)); |
| 1012 | 1021 |
| 1013 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(0.0, 2.0),
WebCompositorAnimationCurve::TimingFunctionTypeLinear)); | 1022 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(0.0, 2.0),
WebCompositorAnimationCurve::TimingFunctionTypeLinear)); |
| 1014 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(1.0, 5.0)))
; | 1023 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(1.0, 5.0)))
; |
| 1015 | 1024 |
| 1016 // Create animation | 1025 // Create animation |
| 1017 WebCompositorAnimationMock* mockAnimationPtr = new WebCompositorAnimationMoc
k(WebCompositorAnimation::TargetPropertyOpacity); | 1026 WebCompositorAnimationMock* mockAnimationPtr = new WebCompositorAnimationMoc
k(WebCompositorAnimation::TargetPropertyOpacity); |
| 1018 ExpectationSet usesMockAnimation; | 1027 ExpectationSet usesMockAnimation; |
| 1019 | 1028 |
| 1020 usesMockCurve += EXPECT_CALL(m_mockCompositor, createAnimation(Ref(*mockCurv
ePtr), WebCompositorAnimation::TargetPropertyOpacity, _, _)) | 1029 usesMockCurve += EXPECT_CALL(*m_mockCompositorFactory, createAnimation(Ref(*
mockCurvePtr), WebCompositorAnimation::TargetPropertyOpacity, _, _)) |
| 1021 .WillOnce(Return(mockAnimationPtr)); | 1030 .WillOnce(Return(mockAnimationPtr)); |
| 1022 | 1031 |
| 1023 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setIterations(1)); | 1032 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setIterations(1)); |
| 1024 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setTimeOffset(0.0)); | 1033 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setTimeOffset(0.0)); |
| 1025 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setDirection(WebComposit
orAnimation::DirectionNormal)); | 1034 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setDirection(WebComposit
orAnimation::DirectionNormal)); |
| 1026 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setPlaybackRate(-3)); | 1035 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setPlaybackRate(-3)); |
| 1027 | 1036 |
| 1028 EXPECT_CALL(*mockAnimationPtr, delete_()) | 1037 EXPECT_CALL(*mockAnimationPtr, delete_()) |
| 1029 .Times(1) | 1038 .Times(1) |
| 1030 .After(usesMockAnimation); | 1039 .After(usesMockAnimation); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 1045 // KeyframeEffect to convert | 1054 // KeyframeEffect to convert |
| 1046 AnimatableValueKeyframeEffectModel* effect = createKeyframeEffectModel( | 1055 AnimatableValueKeyframeEffectModel* effect = createKeyframeEffectModel( |
| 1047 createReplaceOpKeyframe(CSSPropertyOpacity, AnimatableDouble::create(2.0
).get(), 0), | 1056 createReplaceOpKeyframe(CSSPropertyOpacity, AnimatableDouble::create(2.0
).get(), 0), |
| 1048 createReplaceOpKeyframe(CSSPropertyOpacity, AnimatableDouble::create(5.0
).get(), 1.0)); | 1057 createReplaceOpKeyframe(CSSPropertyOpacity, AnimatableDouble::create(5.0
).get(), 1.0)); |
| 1049 | 1058 |
| 1050 m_timing.fillMode = Timing::FillModeNone; | 1059 m_timing.fillMode = Timing::FillModeNone; |
| 1051 | 1060 |
| 1052 // Curve is created | 1061 // Curve is created |
| 1053 WebFloatAnimationCurveMock* mockCurvePtr = new WebFloatAnimationCurveMock; | 1062 WebFloatAnimationCurveMock* mockCurvePtr = new WebFloatAnimationCurveMock; |
| 1054 ExpectationSet usesMockCurve; | 1063 ExpectationSet usesMockCurve; |
| 1055 EXPECT_CALL(m_mockCompositor, createFloatAnimationCurve()) | 1064 EXPECT_CALL(*m_mockCompositorFactory, createFloatAnimationCurve()) |
| 1056 .WillOnce(Return(mockCurvePtr)); | 1065 .WillOnce(Return(mockCurvePtr)); |
| 1057 | 1066 |
| 1058 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(0.0, 2.0),
WebCompositorAnimationCurve::TimingFunctionTypeLinear)); | 1067 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(0.0, 2.0),
WebCompositorAnimationCurve::TimingFunctionTypeLinear)); |
| 1059 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(1.0, 5.0)))
; | 1068 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(1.0, 5.0)))
; |
| 1060 | 1069 |
| 1061 // Create animation | 1070 // Create animation |
| 1062 WebCompositorAnimationMock* mockAnimationPtr = new WebCompositorAnimationMoc
k(WebCompositorAnimation::TargetPropertyOpacity); | 1071 WebCompositorAnimationMock* mockAnimationPtr = new WebCompositorAnimationMoc
k(WebCompositorAnimation::TargetPropertyOpacity); |
| 1063 ExpectationSet usesMockAnimation; | 1072 ExpectationSet usesMockAnimation; |
| 1064 | 1073 |
| 1065 usesMockCurve += EXPECT_CALL(m_mockCompositor, createAnimation(Ref(*mockCurv
ePtr), WebCompositorAnimation::TargetPropertyOpacity, _, _)) | 1074 usesMockCurve += EXPECT_CALL(*m_mockCompositorFactory, createAnimation(Ref(*
mockCurvePtr), WebCompositorAnimation::TargetPropertyOpacity, _, _)) |
| 1066 .WillOnce(Return(mockAnimationPtr)); | 1075 .WillOnce(Return(mockAnimationPtr)); |
| 1067 | 1076 |
| 1068 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setIterations(1)); | 1077 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setIterations(1)); |
| 1069 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setTimeOffset(0.0)); | 1078 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setTimeOffset(0.0)); |
| 1070 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setDirection(WebComposit
orAnimation::DirectionNormal)); | 1079 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setDirection(WebComposit
orAnimation::DirectionNormal)); |
| 1071 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setPlaybackRate(1)); | 1080 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setPlaybackRate(1)); |
| 1072 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setFillMode(WebComposito
rAnimation::FillModeNone)); | 1081 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setFillMode(WebComposito
rAnimation::FillModeNone)); |
| 1073 | 1082 |
| 1074 EXPECT_CALL(*mockAnimationPtr, delete_()) | 1083 EXPECT_CALL(*mockAnimationPtr, delete_()) |
| 1075 .Times(1) | 1084 .Times(1) |
| (...skipping 14 matching lines...) Expand all Loading... |
| 1090 // KeyframeEffect to convert | 1099 // KeyframeEffect to convert |
| 1091 AnimatableValueKeyframeEffectModel* effect = createKeyframeEffectModel( | 1100 AnimatableValueKeyframeEffectModel* effect = createKeyframeEffectModel( |
| 1092 createReplaceOpKeyframe(CSSPropertyOpacity, AnimatableDouble::create(2.0
).get(), 0), | 1101 createReplaceOpKeyframe(CSSPropertyOpacity, AnimatableDouble::create(2.0
).get(), 0), |
| 1093 createReplaceOpKeyframe(CSSPropertyOpacity, AnimatableDouble::create(5.0
).get(), 1.0)); | 1102 createReplaceOpKeyframe(CSSPropertyOpacity, AnimatableDouble::create(5.0
).get(), 1.0)); |
| 1094 | 1103 |
| 1095 m_timing.fillMode = Timing::FillModeAuto; | 1104 m_timing.fillMode = Timing::FillModeAuto; |
| 1096 | 1105 |
| 1097 // Curve is created | 1106 // Curve is created |
| 1098 WebFloatAnimationCurveMock* mockCurvePtr = new WebFloatAnimationCurveMock; | 1107 WebFloatAnimationCurveMock* mockCurvePtr = new WebFloatAnimationCurveMock; |
| 1099 ExpectationSet usesMockCurve; | 1108 ExpectationSet usesMockCurve; |
| 1100 EXPECT_CALL(m_mockCompositor, createFloatAnimationCurve()) | 1109 EXPECT_CALL(*m_mockCompositorFactory, createFloatAnimationCurve()) |
| 1101 .WillOnce(Return(mockCurvePtr)); | 1110 .WillOnce(Return(mockCurvePtr)); |
| 1102 | 1111 |
| 1103 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(0.0, 2.0),
WebCompositorAnimationCurve::TimingFunctionTypeLinear)); | 1112 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(0.0, 2.0),
WebCompositorAnimationCurve::TimingFunctionTypeLinear)); |
| 1104 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(1.0, 5.0)))
; | 1113 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(1.0, 5.0)))
; |
| 1105 | 1114 |
| 1106 // Create animation | 1115 // Create animation |
| 1107 WebCompositorAnimationMock* mockAnimationPtr = new WebCompositorAnimationMoc
k(WebCompositorAnimation::TargetPropertyOpacity); | 1116 WebCompositorAnimationMock* mockAnimationPtr = new WebCompositorAnimationMoc
k(WebCompositorAnimation::TargetPropertyOpacity); |
| 1108 ExpectationSet usesMockAnimation; | 1117 ExpectationSet usesMockAnimation; |
| 1109 | 1118 |
| 1110 usesMockCurve += EXPECT_CALL(m_mockCompositor, createAnimation(Ref(*mockCurv
ePtr), WebCompositorAnimation::TargetPropertyOpacity, _, _)) | 1119 usesMockCurve += EXPECT_CALL(*m_mockCompositorFactory, createAnimation(Ref(*
mockCurvePtr), WebCompositorAnimation::TargetPropertyOpacity, _, _)) |
| 1111 .WillOnce(Return(mockAnimationPtr)); | 1120 .WillOnce(Return(mockAnimationPtr)); |
| 1112 | 1121 |
| 1113 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setIterations(1)); | 1122 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setIterations(1)); |
| 1114 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setTimeOffset(0.0)); | 1123 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setTimeOffset(0.0)); |
| 1115 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setDirection(WebComposit
orAnimation::DirectionNormal)); | 1124 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setDirection(WebComposit
orAnimation::DirectionNormal)); |
| 1116 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setPlaybackRate(1)); | 1125 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setPlaybackRate(1)); |
| 1117 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setFillMode(WebComposito
rAnimation::FillModeNone)); | 1126 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setFillMode(WebComposito
rAnimation::FillModeNone)); |
| 1118 | 1127 |
| 1119 EXPECT_CALL(*mockAnimationPtr, delete_()) | 1128 EXPECT_CALL(*mockAnimationPtr, delete_()) |
| 1120 .Times(1) | 1129 .Times(1) |
| (...skipping 14 matching lines...) Expand all Loading... |
| 1135 // KeyframeEffect to convert | 1144 // KeyframeEffect to convert |
| 1136 AnimatableValueKeyframeEffectModel* effect = createKeyframeEffectModel( | 1145 AnimatableValueKeyframeEffectModel* effect = createKeyframeEffectModel( |
| 1137 createReplaceOpKeyframe(CSSPropertyOpacity, AnimatableDouble::create(2.0
).get(), 0), | 1146 createReplaceOpKeyframe(CSSPropertyOpacity, AnimatableDouble::create(2.0
).get(), 0), |
| 1138 createReplaceOpKeyframe(CSSPropertyOpacity, AnimatableDouble::create(5.0
).get(), 1.0)); | 1147 createReplaceOpKeyframe(CSSPropertyOpacity, AnimatableDouble::create(5.0
).get(), 1.0)); |
| 1139 | 1148 |
| 1140 m_timing.timingFunction = m_cubicCustomTimingFunction; | 1149 m_timing.timingFunction = m_cubicCustomTimingFunction; |
| 1141 | 1150 |
| 1142 // Curve is created | 1151 // Curve is created |
| 1143 WebFloatAnimationCurveMock* mockCurvePtr = new WebFloatAnimationCurveMock; | 1152 WebFloatAnimationCurveMock* mockCurvePtr = new WebFloatAnimationCurveMock; |
| 1144 ExpectationSet usesMockCurve; | 1153 ExpectationSet usesMockCurve; |
| 1145 EXPECT_CALL(m_mockCompositor, createFloatAnimationCurve()) | 1154 EXPECT_CALL(*m_mockCompositorFactory, createFloatAnimationCurve()) |
| 1146 .WillOnce(Return(mockCurvePtr)); | 1155 .WillOnce(Return(mockCurvePtr)); |
| 1147 | 1156 |
| 1148 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(0.0, 2.0),
WebCompositorAnimationCurve::TimingFunctionTypeLinear)); | 1157 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(0.0, 2.0),
WebCompositorAnimationCurve::TimingFunctionTypeLinear)); |
| 1149 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(1.0, 5.0)))
; | 1158 usesMockCurve += EXPECT_CALL(*mockCurvePtr, add(WebFloatKeyframe(1.0, 5.0)))
; |
| 1150 usesMockCurve += EXPECT_CALL(*mockCurvePtr, setCubicBezierTimingFunction(1,
2, 3, 4)); | 1159 usesMockCurve += EXPECT_CALL(*mockCurvePtr, setCubicBezierTimingFunction(1,
2, 3, 4)); |
| 1151 | 1160 |
| 1152 // Create animation | 1161 // Create animation |
| 1153 WebCompositorAnimationMock* mockAnimationPtr = new WebCompositorAnimationMoc
k(WebCompositorAnimation::TargetPropertyOpacity); | 1162 WebCompositorAnimationMock* mockAnimationPtr = new WebCompositorAnimationMoc
k(WebCompositorAnimation::TargetPropertyOpacity); |
| 1154 ExpectationSet usesMockAnimation; | 1163 ExpectationSet usesMockAnimation; |
| 1155 | 1164 |
| 1156 usesMockCurve += EXPECT_CALL(m_mockCompositor, createAnimation(Ref(*mockCurv
ePtr), WebCompositorAnimation::TargetPropertyOpacity, _, _)) | 1165 usesMockCurve += EXPECT_CALL(*m_mockCompositorFactory, createAnimation(Ref(*
mockCurvePtr), WebCompositorAnimation::TargetPropertyOpacity, _, _)) |
| 1157 .WillOnce(Return(mockAnimationPtr)); | 1166 .WillOnce(Return(mockAnimationPtr)); |
| 1158 | 1167 |
| 1159 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setIterations(1)); | 1168 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setIterations(1)); |
| 1160 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setTimeOffset(0.0)); | 1169 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setTimeOffset(0.0)); |
| 1161 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setDirection(WebComposit
orAnimation::DirectionNormal)); | 1170 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setDirection(WebComposit
orAnimation::DirectionNormal)); |
| 1162 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setPlaybackRate(1)); | 1171 usesMockAnimation += EXPECT_CALL(*mockAnimationPtr, setPlaybackRate(1)); |
| 1163 | 1172 |
| 1164 EXPECT_CALL(*mockAnimationPtr, delete_()) | 1173 EXPECT_CALL(*mockAnimationPtr, delete_()) |
| 1165 .Times(1) | 1174 .Times(1) |
| 1166 .After(usesMockAnimation); | 1175 .After(usesMockAnimation); |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1219 simulateFrame(1.); | 1228 simulateFrame(1.); |
| 1220 | 1229 |
| 1221 element->setLayoutObject(nullptr); | 1230 element->setLayoutObject(nullptr); |
| 1222 LayoutObjectProxy::dispose(layoutObject); | 1231 LayoutObjectProxy::dispose(layoutObject); |
| 1223 | 1232 |
| 1224 Heap::collectAllGarbage(); | 1233 Heap::collectAllGarbage(); |
| 1225 EXPECT_TRUE(element->elementAnimations()->animations().isEmpty()); | 1234 EXPECT_TRUE(element->elementAnimations()->animations().isEmpty()); |
| 1226 } | 1235 } |
| 1227 | 1236 |
| 1228 } // namespace blink | 1237 } // namespace blink |
| OLD | NEW |