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

Side by Side Diff: third_party/WebKit/Source/core/animation/css/CSSAnimations.h

Issue 2043273002: Defer compositor keyframe snapshots until the next style resolve (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased Created 4 years, 5 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 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 DISALLOW_NEW(); 55 DISALLOW_NEW();
56 public: 56 public:
57 CSSAnimations(); 57 CSSAnimations();
58 58
59 bool isAnimationForInspector(const Animation&); 59 bool isAnimationForInspector(const Animation&);
60 bool isTransitionAnimationForInspector(const Animation&) const; 60 bool isTransitionAnimationForInspector(const Animation&) const;
61 61
62 static const StylePropertyShorthand& propertiesForTransitionAll(); 62 static const StylePropertyShorthand& propertiesForTransitionAll();
63 static bool isAnimatableProperty(CSSPropertyID); 63 static bool isAnimatableProperty(CSSPropertyID);
64 static void calculateUpdate(const Element* animatingElement, Element&, const ComputedStyle&, ComputedStyle* parentStyle, CSSAnimationUpdate&, StyleResolver* ); 64 static void calculateUpdate(const Element* animatingElement, Element&, const ComputedStyle&, ComputedStyle* parentStyle, CSSAnimationUpdate&, StyleResolver* );
65 static void snapshotCompositorKeyframes(Element&, CSSAnimationUpdate&, const ComputedStyle&, const ComputedStyle* parentStyle);
65 66
66 void setPendingUpdate(const CSSAnimationUpdate& update) 67 void setPendingUpdate(const CSSAnimationUpdate& update)
67 { 68 {
68 clearPendingUpdate(); 69 clearPendingUpdate();
69 m_pendingUpdate.copy(update); 70 m_pendingUpdate.copy(update);
70 } 71 }
71 void clearPendingUpdate() 72 void clearPendingUpdate()
72 { 73 {
73 m_pendingUpdate.clear(); 74 m_pendingUpdate.clear();
74 } 75 }
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 131
131 HeapVector<Member<RunningAnimation>> m_runningAnimations; 132 HeapVector<Member<RunningAnimation>> m_runningAnimations;
132 133
133 using TransitionMap = HeapHashMap<CSSPropertyID, RunningTransition>; 134 using TransitionMap = HeapHashMap<CSSPropertyID, RunningTransition>;
134 TransitionMap m_transitions; 135 TransitionMap m_transitions;
135 136
136 CSSAnimationUpdate m_pendingUpdate; 137 CSSAnimationUpdate m_pendingUpdate;
137 138
138 ActiveInterpolationsMap m_previousActiveInterpolationsForAnimations; 139 ActiveInterpolationsMap m_previousActiveInterpolationsForAnimations;
139 140
140 static void calculateCompositorAnimationUpdate(CSSAnimationUpdate&, const El ement* animatingElement, Element&, const ComputedStyle&); 141 static void calculateCompositorAnimationUpdate(CSSAnimationUpdate&, const El ement* animatingElement, Element&, const ComputedStyle&, const ComputedStyle* pa rentStyle);
141 static void calculateAnimationUpdate(CSSAnimationUpdate&, const Element* ani matingElement, Element&, const ComputedStyle&, ComputedStyle* parentStyle, Style Resolver*); 142 static void calculateAnimationUpdate(CSSAnimationUpdate&, const Element* ani matingElement, Element&, const ComputedStyle&, ComputedStyle* parentStyle, Style Resolver*);
142 static void calculateTransitionUpdate(CSSAnimationUpdate&, const Element* an imatingElement, const ComputedStyle&); 143 static void calculateTransitionUpdate(CSSAnimationUpdate&, const Element* an imatingElement, const ComputedStyle&);
143 static void calculateTransitionUpdateForProperty(CSSPropertyID, const CSSTra nsitionData&, size_t transitionIndex, const ComputedStyle& oldStyle, const Compu tedStyle&, const TransitionMap* activeTransitions, CSSAnimationUpdate&, const El ement*); 144 static void calculateTransitionUpdateForProperty(CSSPropertyID, const CSSTra nsitionData&, size_t transitionIndex, const ComputedStyle& oldStyle, const Compu tedStyle&, const TransitionMap* activeTransitions, CSSAnimationUpdate&, const El ement*);
144 145
145 static void calculateAnimationActiveInterpolations(CSSAnimationUpdate&, cons t Element* animatingElement); 146 static void calculateAnimationActiveInterpolations(CSSAnimationUpdate&, cons t Element* animatingElement);
146 static void calculateTransitionActiveInterpolations(CSSAnimationUpdate&, con st Element* animatingElement); 147 static void calculateTransitionActiveInterpolations(CSSAnimationUpdate&, con st Element* animatingElement);
147 148
148 class AnimationEventDelegate final : public AnimationEffect::EventDelegate { 149 class AnimationEventDelegate final : public AnimationEffect::EventDelegate {
149 public: 150 public:
150 AnimationEventDelegate(Element* animationTarget, const AtomicString& nam e) 151 AnimationEventDelegate(Element* animationTarget, const AtomicString& nam e)
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 191
191 Member<Element> m_transitionTarget; 192 Member<Element> m_transitionTarget;
192 const CSSPropertyID m_property; 193 const CSSPropertyID m_property;
193 AnimationEffect::Phase m_previousPhase; 194 AnimationEffect::Phase m_previousPhase;
194 }; 195 };
195 }; 196 };
196 197
197 } // namespace blink 198 } // namespace blink
198 199
199 #endif 200 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698