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

Side by Side Diff: Source/core/animation/Animation.h

Issue 194673002: Web Animations: Refactor KeyframeEffectModel to work via an InterpolationEffect. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@interpolationWrap
Patch Set: Created 6 years, 9 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 /* 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 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 static void setFillMode(Timing&, String fillMode); 59 static void setFillMode(Timing&, String fillMode);
60 static void setIterationStart(Timing&, double iterationStart); 60 static void setIterationStart(Timing&, double iterationStart);
61 static void setIterationCount(Timing&, double iterationCount); 61 static void setIterationCount(Timing&, double iterationCount);
62 static void setIterationDuration(Timing&, double iterationDuration); 62 static void setIterationDuration(Timing&, double iterationDuration);
63 static void setPlaybackRate(Timing&, double playbackRate); 63 static void setPlaybackRate(Timing&, double playbackRate);
64 static void setPlaybackDirection(Timing&, String direction); 64 static void setPlaybackDirection(Timing&, String direction);
65 static void setTimingFunction(Timing&, String timingFunctionString); 65 static void setTimingFunction(Timing&, String timingFunctionString);
66 66
67 virtual bool isAnimation() const OVERRIDE { return true; } 67 virtual bool isAnimation() const OVERRIDE { return true; }
68 68
69 const AnimationEffect::CompositableValueList* compositableValues() const 69 const Vector<RefPtr<Interpolation> >* activeInterpolations() const
70 { 70 {
71 ASSERT(m_compositableValues); 71 ASSERT(m_activeInterpolations);
72 return m_compositableValues.get(); 72 return m_activeInterpolations.get();
73 } 73 }
74 74
75 bool affects(CSSPropertyID) const; 75 bool affects(CSSPropertyID) const;
76 const AnimationEffect* effect() const { return m_effect.get(); } 76 const AnimationEffect* effect() const { return m_effect.get(); }
77 Priority priority() const { return m_priority; } 77 Priority priority() const { return m_priority; }
78 Element* target() { return m_target.get(); } 78 Element* target() { return m_target.get(); }
79 79
80 bool isCandidateForAnimationOnCompositor() const; 80 bool isCandidateForAnimationOnCompositor() const;
81 // Must only be called once and assumes to be part of a player without a sta rt time. 81 // Must only be called once and assumes to be part of a player without a sta rt time.
82 bool maybeStartAnimationOnCompositor(); 82 bool maybeStartAnimationOnCompositor();
(...skipping 16 matching lines...) Expand all
99 static PassRefPtr<Animation> createUnsafe(Element*, Vector<Dictionary> keyfr ameDictionaryVector, Dictionary timingInput); 99 static PassRefPtr<Animation> createUnsafe(Element*, Vector<Dictionary> keyfr ameDictionaryVector, Dictionary timingInput);
100 static PassRefPtr<Animation> createUnsafe(Element*, Vector<Dictionary> keyfr ameDictionaryVector, double timingInput); 100 static PassRefPtr<Animation> createUnsafe(Element*, Vector<Dictionary> keyfr ameDictionaryVector, double timingInput);
101 static PassRefPtr<Animation> createUnsafe(Element*, Vector<Dictionary> keyfr ameDictionaryVector); 101 static PassRefPtr<Animation> createUnsafe(Element*, Vector<Dictionary> keyfr ameDictionaryVector);
102 102
103 Animation(PassRefPtr<Element>, PassRefPtrWillBeRawPtr<AnimationEffect>, cons t Timing&, Priority, PassOwnPtr<EventDelegate>); 103 Animation(PassRefPtr<Element>, PassRefPtrWillBeRawPtr<AnimationEffect>, cons t Timing&, Priority, PassOwnPtr<EventDelegate>);
104 104
105 RefPtr<Element> m_target; 105 RefPtr<Element> m_target;
106 RefPtrWillBePersistent<AnimationEffect> m_effect; 106 RefPtrWillBePersistent<AnimationEffect> m_effect;
107 107
108 bool m_activeInAnimationStack; 108 bool m_activeInAnimationStack;
109 OwnPtr<AnimationEffect::CompositableValueList> m_compositableValues; 109 OwnPtr<Vector<RefPtr<Interpolation> > > m_activeInterpolations;
110 110
111 Priority m_priority; 111 Priority m_priority;
112 112
113 Vector<int> m_compositorAnimationIds; 113 Vector<int> m_compositorAnimationIds;
114 114
115 friend class CSSAnimations; 115 friend class CSSAnimations;
116 friend class AnimationAnimationV8Test; 116 friend class AnimationAnimationV8Test;
117 friend class AnimationAnimationTimingInputTest; 117 friend class AnimationAnimationTimingInputTest;
118 }; 118 };
119 119
120 DEFINE_TYPE_CASTS(Animation, TimedItem, timedItem, timedItem->isAnimation(), tim edItem.isAnimation()); 120 DEFINE_TYPE_CASTS(Animation, TimedItem, timedItem, timedItem->isAnimation(), tim edItem.isAnimation());
121 121
122 } // namespace WebCore 122 } // namespace WebCore
123 123
124 #endif 124 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698