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 23 matching lines...) Expand all Loading... | |
34 #include "platform/animation/TimingFunction.h" | 34 #include "platform/animation/TimingFunction.h" |
35 #include "public/platform/WebCompositorAnimation.h" | 35 #include "public/platform/WebCompositorAnimation.h" |
36 | 36 |
37 namespace blink { | 37 namespace blink { |
38 | 38 |
39 class WebCompositorAnimationCurve; | 39 class WebCompositorAnimationCurve; |
40 | 40 |
41 class CompositorAnimationsImpl { | 41 class CompositorAnimationsImpl { |
42 private: | 42 private: |
43 struct CompositorTiming { | 43 struct CompositorTiming { |
44 void assertValid() const | |
45 { | |
46 ASSERT(scaledDuration > 0); | |
47 ASSERT(std::isfinite(scaledTimeOffset)); | |
48 ASSERT(adjustedIterationCount > 0 || adjustedIterationCount == -1); | |
49 ASSERT(std::isfinite(playbackRate)); | |
dstockwell
2014/10/14 04:54:10
playbackRate should also not be 0
samli
2014/10/14 04:57:55
Done.
| |
50 ASSERT(iterationStart >= 0); | |
51 } | |
52 | |
44 Timing::PlaybackDirection direction; | 53 Timing::PlaybackDirection direction; |
45 double scaledDuration; | 54 double scaledDuration; |
46 double scaledTimeOffset; | 55 double scaledTimeOffset; |
47 double adjustedIterationCount; | 56 double adjustedIterationCount; |
48 double playbackRate; | 57 double playbackRate; |
49 Timing::FillMode fillMode; | 58 Timing::FillMode fillMode; |
50 double iterationStart; | 59 double iterationStart; |
51 }; | 60 }; |
52 | 61 |
53 static bool convertTimingForCompositor(const Timing&, double timeOffset, Com positorTiming& out, double playerPlaybackRate); | 62 static bool convertTimingForCompositor(const Timing&, double timeOffset, Com positorTiming& out, double playerPlaybackRate); |
54 | 63 |
55 static void getAnimationOnCompositor(const Timing&, double startTime, double timeOffset, const KeyframeEffectModelBase&, Vector<OwnPtr<WebCompositorAnimatio n> >& animations, double playerPlaybackRate); | 64 static void getAnimationOnCompositor(const Timing&, double startTime, double timeOffset, const KeyframeEffectModelBase&, Vector<OwnPtr<WebCompositorAnimatio n> >& animations, double playerPlaybackRate); |
56 | 65 |
57 static void addKeyframesToCurve(WebCompositorAnimationCurve&, const Animatab leValuePropertySpecificKeyframeVector&, const Timing&); | 66 static void addKeyframesToCurve(WebCompositorAnimationCurve&, const Animatab leValuePropertySpecificKeyframeVector&, const Timing&); |
58 | 67 |
59 friend class CompositorAnimations; | 68 friend class CompositorAnimations; |
60 friend class AnimationCompositorAnimationsTest; | 69 friend class AnimationCompositorAnimationsTest; |
61 }; | 70 }; |
62 | 71 |
63 } // namespace blink | 72 } // namespace blink |
OLD | NEW |