Chromium Code Reviews| Index: Source/core/animation/css/CSSAnimations.h |
| diff --git a/Source/core/animation/css/CSSAnimations.h b/Source/core/animation/css/CSSAnimations.h |
| index 93a8abfb1ad33de1876d2d9212ec3ce88fe568b5..3a39eb47f3efb47e98cfafc5fa1bb7c84d2c6c7b 100644 |
| --- a/Source/core/animation/css/CSSAnimations.h |
| +++ b/Source/core/animation/css/CSSAnimations.h |
| @@ -37,6 +37,7 @@ |
| #include "core/animation/css/CSSAnimationUpdate.h" |
| #include "core/css/CSSKeyframesRule.h" |
| #include "core/css/StylePropertySet.h" |
| +#include "core/css/resolver/StyleResolverState.h" |
| #include "core/dom/Document.h" |
| #include "core/dom/Element.h" |
| #include "wtf/HashMap.h" |
| @@ -60,11 +61,19 @@ public: |
| static const StylePropertyShorthand& propertiesForTransitionAll(); |
| static bool isAnimatableProperty(CSSPropertyID); |
| - static PassOwnPtrWillBeRawPtr<CSSAnimationUpdate> calculateUpdate(const Element* animatingElement, Element&, const ComputedStyle&, ComputedStyle* parentStyle, StyleResolver*); |
| - |
| - void setPendingUpdate(PassOwnPtrWillBeRawPtr<CSSAnimationUpdate> update) { m_pendingUpdate = update; } |
| + static void calculateUpdate(const Element* animatingElement, Element&, const ComputedStyle&, ComputedStyle* parentStyle, CSSAnimationUpdate&, StyleResolver*); |
| + |
| + void copy(const CSSAnimationUpdate& update) |
|
alancutter (OOO until 2018)
2015/08/20 02:06:58
I'd still keep this method named setPendingUpdate(
haraken
2015/08/20 03:01:25
Done.
|
| + { |
| + clearPendingUpdate(); |
| + m_pendingUpdate.copy(update); |
| + } |
| + void clearPendingUpdate() |
| + { |
| + m_pendingUpdate.clear(); |
| + } |
| void maybeApplyPendingUpdate(Element*); |
| - bool isEmpty() const { return m_animations.isEmpty() && m_transitions.isEmpty() && !m_pendingUpdate; } |
| + bool isEmpty() const { return m_animations.isEmpty() && m_transitions.isEmpty() && m_pendingUpdate.isEmpty(); } |
| void cancel(); |
| DECLARE_TRACE(); |
| @@ -120,16 +129,16 @@ private: |
| using TransitionMap = WillBeHeapHashMap<CSSPropertyID, RunningTransition>; |
| TransitionMap m_transitions; |
| - OwnPtrWillBeMember<CSSAnimationUpdate> m_pendingUpdate; |
| + CSSAnimationUpdate m_pendingUpdate; |
| ActiveInterpolationMap m_previousActiveInterpolationsForAnimations; |
| - static void calculateAnimationUpdate(CSSAnimationUpdate*, const Element* animatingElement, Element&, const ComputedStyle&, ComputedStyle* parentStyle, StyleResolver*); |
| - static void calculateTransitionUpdate(CSSAnimationUpdate*, const Element* animatingElement, const ComputedStyle&); |
| - static void calculateTransitionUpdateForProperty(CSSPropertyID, const CSSTransitionData&, size_t transitionIndex, const ComputedStyle& oldStyle, const ComputedStyle&, const TransitionMap* activeTransitions, CSSAnimationUpdate*, const Element*); |
| + static void calculateAnimationUpdate(CSSAnimationUpdate&, const Element* animatingElement, Element&, const ComputedStyle&, ComputedStyle* parentStyle, StyleResolver*); |
| + static void calculateTransitionUpdate(CSSAnimationUpdate&, const Element* animatingElement, const ComputedStyle&); |
| + static void calculateTransitionUpdateForProperty(CSSPropertyID, const CSSTransitionData&, size_t transitionIndex, const ComputedStyle& oldStyle, const ComputedStyle&, const TransitionMap* activeTransitions, CSSAnimationUpdate&, const Element*); |
| - static void calculateAnimationActiveInterpolations(CSSAnimationUpdate*, const Element* animatingElement, double timelineCurrentTime); |
| - static void calculateTransitionActiveInterpolations(CSSAnimationUpdate*, const Element* animatingElement, double timelineCurrentTime); |
| + static void calculateAnimationActiveInterpolations(CSSAnimationUpdate&, const Element* animatingElement, double timelineCurrentTime); |
| + static void calculateTransitionActiveInterpolations(CSSAnimationUpdate&, const Element* animatingElement, double timelineCurrentTime); |
| class AnimationEventDelegate final : public AnimationEffect::EventDelegate { |
| public: |