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

Side by Side Diff: Source/core/animation/css/CSSAnimationUpdate.h

Issue 1120003002: [Oilpan] Migrate most classes under core/animations to Oilpan heap. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebase Created 5 years, 4 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 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CSSAnimationUpdate_h 5 #ifndef CSSAnimationUpdate_h
6 #define CSSAnimationUpdate_h 6 #define CSSAnimationUpdate_h
7 7
8 #include "core/animation/AnimationStack.h" 8 #include "core/animation/AnimationStack.h"
9 #include "core/animation/InertEffect.h" 9 #include "core/animation/InertEffect.h"
10 #include "core/animation/Interpolation.h" 10 #include "core/animation/Interpolation.h"
(...skipping 18 matching lines...) Expand all
29 WTF_MAKE_NONCOPYABLE(CSSAnimationUpdate); 29 WTF_MAKE_NONCOPYABLE(CSSAnimationUpdate);
30 public: 30 public:
31 class NewAnimation { 31 class NewAnimation {
32 ALLOW_ONLY_INLINE_ALLOCATION(); 32 ALLOW_ONLY_INLINE_ALLOCATION();
33 public: 33 public:
34 NewAnimation() 34 NewAnimation()
35 : styleRuleVersion(0) 35 : styleRuleVersion(0)
36 { 36 {
37 } 37 }
38 38
39 NewAnimation(AtomicString name, PassRefPtrWillBeRawPtr<InertEffect> effe ct, Timing timing, PassRefPtrWillBeRawPtr<StyleRuleKeyframes> styleRule) 39 NewAnimation(AtomicString name, InertEffect* effect, Timing timing, Pass RefPtrWillBeRawPtr<StyleRuleKeyframes> styleRule)
40 : name(name) 40 : name(name)
41 , effect(effect) 41 , effect(effect)
42 , timing(timing) 42 , timing(timing)
43 , styleRule(styleRule) 43 , styleRule(styleRule)
44 , styleRuleVersion(this->styleRule->version()) 44 , styleRuleVersion(this->styleRule->version())
45 { 45 {
46 } 46 }
47 47
48 DEFINE_INLINE_TRACE() 48 DEFINE_INLINE_TRACE()
49 { 49 {
50 visitor->trace(effect); 50 visitor->trace(effect);
51 visitor->trace(styleRule); 51 visitor->trace(styleRule);
52 } 52 }
53 53
54 AtomicString name; 54 AtomicString name;
55 RefPtrWillBeMember<InertEffect> effect; 55 Member<InertEffect> effect;
56 Timing timing; 56 Timing timing;
57 RefPtrWillBeMember<StyleRuleKeyframes> styleRule; 57 RefPtrWillBeMember<StyleRuleKeyframes> styleRule;
58 unsigned styleRuleVersion; 58 unsigned styleRuleVersion;
59 }; 59 };
60 60
61 class UpdatedAnimation { 61 class UpdatedAnimation {
62 ALLOW_ONLY_INLINE_ALLOCATION(); 62 ALLOW_ONLY_INLINE_ALLOCATION();
63 public: 63 public:
64 UpdatedAnimation() 64 UpdatedAnimation()
65 : styleRuleVersion(0) 65 : styleRuleVersion(0)
66 { 66 {
67 } 67 }
68 68
69 UpdatedAnimation(AtomicString name, Animation* animation, PassRefPtrWill BeRawPtr<InertEffect> effect, Timing specifiedTiming, PassRefPtrWillBeRawPtr<Sty leRuleKeyframes> styleRule) 69 UpdatedAnimation(AtomicString name, Animation* animation, InertEffect* e ffect, Timing specifiedTiming, PassRefPtrWillBeRawPtr<StyleRuleKeyframes> styleR ule)
70 : name(name) 70 : name(name)
71 , animation(animation) 71 , animation(animation)
72 , effect(effect) 72 , effect(effect)
73 , specifiedTiming(specifiedTiming) 73 , specifiedTiming(specifiedTiming)
74 , styleRule(styleRule) 74 , styleRule(styleRule)
75 , styleRuleVersion(this->styleRule->version()) 75 , styleRuleVersion(this->styleRule->version())
76 { 76 {
77 } 77 }
78 78
79 DEFINE_INLINE_TRACE() 79 DEFINE_INLINE_TRACE()
80 { 80 {
81 visitor->trace(animation); 81 visitor->trace(animation);
82 visitor->trace(effect); 82 visitor->trace(effect);
83 visitor->trace(styleRule); 83 visitor->trace(styleRule);
84 } 84 }
85 85
86 AtomicString name; 86 AtomicString name;
87 RawPtrWillBeMember<Animation> animation; 87 Member<Animation> animation;
88 RefPtrWillBeMember<InertEffect> effect; 88 Member<InertEffect> effect;
89 Timing specifiedTiming; 89 Timing specifiedTiming;
90 RefPtrWillBeMember<StyleRuleKeyframes> styleRule; 90 RefPtrWillBeMember<StyleRuleKeyframes> styleRule;
91 unsigned styleRuleVersion; 91 unsigned styleRuleVersion;
92 }; 92 };
93 93
94 class UpdatedAnimationStyle { 94 class UpdatedAnimationStyle {
95 ALLOW_ONLY_INLINE_ALLOCATION(); 95 ALLOW_ONLY_INLINE_ALLOCATION();
96 public: 96 public:
97 struct CompositableStyleSnapshot { 97 struct CompositableStyleSnapshot {
98 DISALLOW_ALLOCATION(); 98 DISALLOW_ALLOCATION();
99 99
100 public: 100 public:
101 RefPtrWillBeMember<AnimatableValue> opacity; 101 Member<AnimatableValue> opacity;
102 RefPtrWillBeMember<AnimatableValue> transform; 102 Member<AnimatableValue> transform;
103 RefPtrWillBeMember<AnimatableValue> webkitFilter; 103 Member<AnimatableValue> webkitFilter;
104 104
105 DEFINE_INLINE_TRACE() 105 DEFINE_INLINE_TRACE()
106 { 106 {
107 visitor->trace(opacity); 107 visitor->trace(opacity);
108 visitor->trace(transform); 108 visitor->trace(transform);
109 visitor->trace(webkitFilter); 109 visitor->trace(webkitFilter);
110 } 110 }
111 }; 111 };
112 112
113 UpdatedAnimationStyle() 113 UpdatedAnimationStyle()
114 { 114 {
115 } 115 }
116 116
117 UpdatedAnimationStyle(Animation* animation, KeyframeEffectModelBase* mod el, const UpdatedAnimationStyle::CompositableStyleSnapshot& snapshot) 117 UpdatedAnimationStyle(Animation* animation, KeyframeEffectModelBase* mod el, const UpdatedAnimationStyle::CompositableStyleSnapshot& snapshot)
118 : animation(animation) 118 : animation(animation)
119 , model(model) 119 , model(model)
120 , snapshot(snapshot) 120 , snapshot(snapshot)
121 { 121 {
122 } 122 }
123 123
124 DEFINE_INLINE_TRACE() 124 DEFINE_INLINE_TRACE()
125 { 125 {
126 visitor->trace(animation); 126 visitor->trace(animation);
127 visitor->trace(model); 127 visitor->trace(model);
128 visitor->trace(snapshot); 128 visitor->trace(snapshot);
129 } 129 }
130 130
131 RawPtrWillBeMember<Animation> animation; 131 Member<Animation> animation;
132 RawPtrWillBeMember<KeyframeEffectModelBase> model; 132 Member<KeyframeEffectModelBase> model;
133 CompositableStyleSnapshot snapshot; 133 CompositableStyleSnapshot snapshot;
134 }; 134 };
135 135
136 CSSAnimationUpdate() 136 CSSAnimationUpdate()
137 { 137 {
138 } 138 }
139 139
140 ~CSSAnimationUpdate() 140 ~CSSAnimationUpdate()
141 { 141 {
142 #if ENABLE(OILPAN) 142 #if ENABLE(OILPAN)
(...skipping 25 matching lines...) Expand all
168 m_animationsWithStyleUpdates.clear(); 168 m_animationsWithStyleUpdates.clear();
169 m_newTransitions.clear(); 169 m_newTransitions.clear();
170 m_activeInterpolationsForAnimations.clear(); 170 m_activeInterpolationsForAnimations.clear();
171 m_activeInterpolationsForTransitions.clear(); 171 m_activeInterpolationsForTransitions.clear();
172 m_cancelledAnimationNames.clear(); 172 m_cancelledAnimationNames.clear();
173 m_animationsWithPauseToggled.clear(); 173 m_animationsWithPauseToggled.clear();
174 m_cancelledTransitions.clear(); 174 m_cancelledTransitions.clear();
175 m_finishedTransitions.clear(); 175 m_finishedTransitions.clear();
176 } 176 }
177 177
178 void startAnimation(const AtomicString& animationName, PassRefPtrWillBeRawPt r<InertEffect> effect, const Timing& timing, PassRefPtrWillBeRawPtr<StyleRuleKey frames> styleRule) 178 void startAnimation(const AtomicString& animationName, InertEffect* effect, const Timing& timing, PassRefPtrWillBeRawPtr<StyleRuleKeyframes> styleRule)
179 { 179 {
180 effect->setName(animationName); 180 effect->setName(animationName);
181 m_newAnimations.append(NewAnimation(animationName, effect, timing, style Rule)); 181 m_newAnimations.append(NewAnimation(animationName, effect, timing, style Rule));
182 } 182 }
183 // Returns whether animation has been suppressed and should be filtered duri ng style application. 183 // Returns whether animation has been suppressed and should be filtered duri ng style application.
184 bool isSuppressedAnimation(const Animation* animation) const { return m_supp ressedAnimations.contains(animation); } 184 bool isSuppressedAnimation(const Animation* animation) const { return m_supp ressedAnimations.contains(animation); }
185 void cancelAnimation(const AtomicString& name, Animation& animation) 185 void cancelAnimation(const AtomicString& name, Animation& animation)
186 { 186 {
187 m_cancelledAnimationNames.append(name); 187 m_cancelledAnimationNames.append(name);
188 m_suppressedAnimations.add(&animation); 188 m_suppressedAnimations.add(&animation);
189 } 189 }
190 void toggleAnimationPaused(const AtomicString& name) 190 void toggleAnimationPaused(const AtomicString& name)
191 { 191 {
192 m_animationsWithPauseToggled.append(name); 192 m_animationsWithPauseToggled.append(name);
193 } 193 }
194 void updateAnimation(const AtomicString& name, Animation* animation, PassRef PtrWillBeRawPtr<InertEffect> effect, const Timing& specifiedTiming, 194 void updateAnimation(const AtomicString& name, Animation* animation, InertEf fect* effect, const Timing& specifiedTiming, PassRefPtrWillBeRawPtr<StyleRuleKey frames> styleRule)
195 PassRefPtrWillBeRawPtr<StyleRuleKeyframes> styleRule)
196 { 195 {
197 m_animationsWithUpdates.append(UpdatedAnimation(name, animation, effect, specifiedTiming, styleRule)); 196 m_animationsWithUpdates.append(UpdatedAnimation(name, animation, effect, specifiedTiming, styleRule));
198 m_suppressedAnimations.add(animation); 197 m_suppressedAnimations.add(animation);
199 } 198 }
200 void updateAnimationStyle(Animation* animation, KeyframeEffectModelBase* mod el, LayoutObject* layoutObject, const ComputedStyle& newStyle) 199 void updateAnimationStyle(Animation* animation, KeyframeEffectModelBase* mod el, LayoutObject* layoutObject, const ComputedStyle& newStyle)
201 { 200 {
202 UpdatedAnimationStyle::CompositableStyleSnapshot snapshot; 201 UpdatedAnimationStyle::CompositableStyleSnapshot snapshot;
203 if (layoutObject) { 202 if (layoutObject) {
204 const ComputedStyle& oldStyle = layoutObject->styleRef(); 203 const ComputedStyle& oldStyle = layoutObject->styleRef();
205 if (!CSSPropertyEquality::propertiesEqual(CSSPropertyOpacity, oldSty le, newStyle) && model->affects(PropertyHandle(CSSPropertyOpacity))) 204 if (!CSSPropertyEquality::propertiesEqual(CSSPropertyOpacity, oldSty le, newStyle) && model->affects(PropertyHandle(CSSPropertyOpacity)))
206 snapshot.opacity = CSSAnimatableValueFactory::create(CSSProperty Opacity, newStyle); 205 snapshot.opacity = CSSAnimatableValueFactory::create(CSSProperty Opacity, newStyle);
207 if (!CSSPropertyEquality::propertiesEqual(CSSPropertyTransform, oldS tyle, newStyle) && model->affects(PropertyHandle(CSSPropertyTransform))) 206 if (!CSSPropertyEquality::propertiesEqual(CSSPropertyTransform, oldS tyle, newStyle) && model->affects(PropertyHandle(CSSPropertyTransform)))
208 snapshot.transform = CSSAnimatableValueFactory::create(CSSProper tyTransform, newStyle); 207 snapshot.transform = CSSAnimatableValueFactory::create(CSSProper tyTransform, newStyle);
209 if (!CSSPropertyEquality::propertiesEqual(CSSPropertyWebkitFilter, o ldStyle, newStyle) && model->affects(PropertyHandle(CSSPropertyWebkitFilter))) 208 if (!CSSPropertyEquality::propertiesEqual(CSSPropertyWebkitFilter, o ldStyle, newStyle) && model->affects(PropertyHandle(CSSPropertyWebkitFilter)))
210 snapshot.webkitFilter = CSSAnimatableValueFactory::create(CSSPro pertyWebkitFilter, newStyle); 209 snapshot.webkitFilter = CSSAnimatableValueFactory::create(CSSPro pertyWebkitFilter, newStyle);
211 } 210 }
212 211
213 m_animationsWithStyleUpdates.append(UpdatedAnimationStyle(animation, mod el, snapshot)); 212 m_animationsWithStyleUpdates.append(UpdatedAnimationStyle(animation, mod el, snapshot));
214 } 213 }
215 214
216 void startTransition(CSSPropertyID id, const AnimatableValue* from, const An imatableValue* to, PassRefPtrWillBeRawPtr<InertEffect> effect) 215 void startTransition(CSSPropertyID id, const AnimatableValue* from, const An imatableValue* to, InertEffect* effect)
217 { 216 {
218 effect->setName(getPropertyName(id)); 217 effect->setName(getPropertyName(id));
219 NewTransition newTransition; 218 NewTransition newTransition;
220 newTransition.id = id; 219 newTransition.id = id;
221 newTransition.from = from; 220 newTransition.from = from;
222 newTransition.to = to; 221 newTransition.to = to;
223 newTransition.effect = effect; 222 newTransition.effect = effect;
224 m_newTransitions.set(id, newTransition); 223 m_newTransitions.set(id, newTransition);
225 } 224 }
226 bool isCancelledTransition(CSSPropertyID id) const { return m_cancelledTrans itions.contains(id); } 225 bool isCancelledTransition(CSSPropertyID id) const { return m_cancelledTrans itions.contains(id); }
227 void cancelTransition(CSSPropertyID id) { m_cancelledTransitions.add(id); } 226 void cancelTransition(CSSPropertyID id) { m_cancelledTransitions.add(id); }
228 void finishTransition(CSSPropertyID id) { m_finishedTransitions.add(id); } 227 void finishTransition(CSSPropertyID id) { m_finishedTransitions.add(id); }
229 228
230 const WillBeHeapVector<NewAnimation>& newAnimations() const { return m_newAn imations; } 229 const HeapVector<NewAnimation>& newAnimations() const { return m_newAnimatio ns; }
231 const Vector<AtomicString>& cancelledAnimationNames() const { return m_cance lledAnimationNames; } 230 const Vector<AtomicString>& cancelledAnimationNames() const { return m_cance lledAnimationNames; }
232 const WillBeHeapHashSet<RawPtrWillBeMember<const Animation>>& suppressedAnim ations() const { return m_suppressedAnimations; } 231 const HeapHashSet<Member<const Animation>>& suppressedAnimations() const { r eturn m_suppressedAnimations; }
233 const Vector<AtomicString>& animationsWithPauseToggled() const { return m_an imationsWithPauseToggled; } 232 const Vector<AtomicString>& animationsWithPauseToggled() const { return m_an imationsWithPauseToggled; }
234 const WillBeHeapVector<UpdatedAnimation>& animationsWithUpdates() const { re turn m_animationsWithUpdates; } 233 const HeapVector<UpdatedAnimation>& animationsWithUpdates() const { return m _animationsWithUpdates; }
235 const WillBeHeapVector<UpdatedAnimationStyle>& animationsWithStyleUpdates() const { return m_animationsWithStyleUpdates; } 234 const HeapVector<UpdatedAnimationStyle>& animationsWithStyleUpdates() const { return m_animationsWithStyleUpdates; }
236 235
237 struct NewTransition { 236 struct NewTransition {
238 ALLOW_ONLY_INLINE_ALLOCATION(); 237 ALLOW_ONLY_INLINE_ALLOCATION();
239 public: 238 public:
240 DEFINE_INLINE_TRACE() 239 DEFINE_INLINE_TRACE()
241 { 240 {
242 visitor->trace(from); 241 visitor->trace(from);
243 visitor->trace(to); 242 visitor->trace(to);
244 visitor->trace(effect); 243 visitor->trace(effect);
245 } 244 }
246 245
247 CSSPropertyID id; 246 CSSPropertyID id;
248 RawPtrWillBeMember<const AnimatableValue> from; 247 Member<const AnimatableValue> from;
249 RawPtrWillBeMember<const AnimatableValue> to; 248 Member<const AnimatableValue> to;
250 RefPtrWillBeMember<InertEffect> effect; 249 Member<InertEffect> effect;
251 }; 250 };
252 using NewTransitionMap = WillBeHeapHashMap<CSSPropertyID, NewTransition>; 251 using NewTransitionMap = HeapHashMap<CSSPropertyID, NewTransition>;
253 const NewTransitionMap& newTransitions() const { return m_newTransitions; } 252 const NewTransitionMap& newTransitions() const { return m_newTransitions; }
254 const HashSet<CSSPropertyID>& cancelledTransitions() const { return m_cancel ledTransitions; } 253 const HashSet<CSSPropertyID>& cancelledTransitions() const { return m_cancel ledTransitions; }
255 const HashSet<CSSPropertyID>& finishedTransitions() const { return m_finishe dTransitions; } 254 const HashSet<CSSPropertyID>& finishedTransitions() const { return m_finishe dTransitions; }
256 255
257 void adoptActiveInterpolationsForAnimations(ActiveInterpolationMap& newMap) { newMap.swap(m_activeInterpolationsForAnimations); } 256 void adoptActiveInterpolationsForAnimations(ActiveInterpolationMap& newMap) { newMap.swap(m_activeInterpolationsForAnimations); }
258 void adoptActiveInterpolationsForTransitions(ActiveInterpolationMap& newMap) { newMap.swap(m_activeInterpolationsForTransitions); } 257 void adoptActiveInterpolationsForTransitions(ActiveInterpolationMap& newMap) { newMap.swap(m_activeInterpolationsForTransitions); }
259 const ActiveInterpolationMap& activeInterpolationsForAnimations() const { re turn m_activeInterpolationsForAnimations; } 258 const ActiveInterpolationMap& activeInterpolationsForAnimations() const { re turn m_activeInterpolationsForAnimations; }
260 const ActiveInterpolationMap& activeInterpolationsForTransitions() const { r eturn m_activeInterpolationsForTransitions; } 259 const ActiveInterpolationMap& activeInterpolationsForTransitions() const { r eturn m_activeInterpolationsForTransitions; }
261 ActiveInterpolationMap& activeInterpolationsForAnimations() { return m_activ eInterpolationsForAnimations; } 260 ActiveInterpolationMap& activeInterpolationsForAnimations() { return m_activ eInterpolationsForAnimations; }
262 261
263 bool isEmpty() const 262 bool isEmpty() const
264 { 263 {
265 return m_newAnimations.isEmpty() 264 return m_newAnimations.isEmpty()
266 && m_cancelledAnimationNames.isEmpty() 265 && m_cancelledAnimationNames.isEmpty()
267 && m_suppressedAnimations.isEmpty() 266 && m_suppressedAnimations.isEmpty()
268 && m_animationsWithPauseToggled.isEmpty() 267 && m_animationsWithPauseToggled.isEmpty()
269 && m_animationsWithUpdates.isEmpty() 268 && m_animationsWithUpdates.isEmpty()
270 && m_animationsWithStyleUpdates.isEmpty() 269 && m_animationsWithStyleUpdates.isEmpty()
271 && m_newTransitions.isEmpty() 270 && m_newTransitions.isEmpty()
272 && m_cancelledTransitions.isEmpty() 271 && m_cancelledTransitions.isEmpty()
273 && m_finishedTransitions.isEmpty() 272 && m_finishedTransitions.isEmpty()
274 && m_activeInterpolationsForAnimations.isEmpty() 273 && m_activeInterpolationsForAnimations.isEmpty()
275 && m_activeInterpolationsForTransitions.isEmpty(); 274 && m_activeInterpolationsForTransitions.isEmpty();
276 } 275 }
277 276
278 DEFINE_INLINE_TRACE() 277 DEFINE_INLINE_TRACE()
279 { 278 {
280 #if ENABLE(OILPAN)
281 visitor->trace(m_newTransitions); 279 visitor->trace(m_newTransitions);
282 visitor->trace(m_activeInterpolationsForAnimations); 280 visitor->trace(m_activeInterpolationsForAnimations);
283 visitor->trace(m_activeInterpolationsForTransitions); 281 visitor->trace(m_activeInterpolationsForTransitions);
284 visitor->trace(m_newAnimations); 282 visitor->trace(m_newAnimations);
285 visitor->trace(m_suppressedAnimations); 283 visitor->trace(m_suppressedAnimations);
286 visitor->trace(m_animationsWithUpdates); 284 visitor->trace(m_animationsWithUpdates);
287 visitor->trace(m_animationsWithStyleUpdates); 285 visitor->trace(m_animationsWithStyleUpdates);
288 #endif
289 } 286 }
290 287
291 private: 288 private:
292 // Order is significant since it defines the order in which new animations 289 // Order is significant since it defines the order in which new animations
293 // will be started. Note that there may be multiple animations present 290 // will be started. Note that there may be multiple animations present
294 // with the same name, due to the way in which we split up animations with 291 // with the same name, due to the way in which we split up animations with
295 // incomplete keyframes. 292 // incomplete keyframes.
296 WillBeHeapVector<NewAnimation> m_newAnimations; 293 HeapVector<NewAnimation> m_newAnimations;
297 Vector<AtomicString> m_cancelledAnimationNames; 294 Vector<AtomicString> m_cancelledAnimationNames;
298 WillBeHeapHashSet<RawPtrWillBeMember<const Animation>> m_suppressedAnimation s; 295 HeapHashSet<Member<const Animation>> m_suppressedAnimations;
299 Vector<AtomicString> m_animationsWithPauseToggled; 296 Vector<AtomicString> m_animationsWithPauseToggled;
300 WillBeHeapVector<UpdatedAnimation> m_animationsWithUpdates; 297 HeapVector<UpdatedAnimation> m_animationsWithUpdates;
301 WillBeHeapVector<UpdatedAnimationStyle> m_animationsWithStyleUpdates; 298 HeapVector<UpdatedAnimationStyle> m_animationsWithStyleUpdates;
302 299
303 NewTransitionMap m_newTransitions; 300 NewTransitionMap m_newTransitions;
304 HashSet<CSSPropertyID> m_cancelledTransitions; 301 HashSet<CSSPropertyID> m_cancelledTransitions;
305 HashSet<CSSPropertyID> m_finishedTransitions; 302 HashSet<CSSPropertyID> m_finishedTransitions;
306 303
307 ActiveInterpolationMap m_activeInterpolationsForAnimations; 304 ActiveInterpolationMap m_activeInterpolationsForAnimations;
308 ActiveInterpolationMap m_activeInterpolationsForTransitions; 305 ActiveInterpolationMap m_activeInterpolationsForTransitions;
309 }; 306 };
310 307
311 } // namespace blink 308 } // namespace blink
312 309
313 WTF_ALLOW_INIT_WITH_MEM_FUNCTIONS(blink::CSSAnimationUpdate::NewAnimation); 310 WTF_ALLOW_INIT_WITH_MEM_FUNCTIONS(blink::CSSAnimationUpdate::NewAnimation);
314 WTF_ALLOW_INIT_WITH_MEM_FUNCTIONS(blink::CSSAnimationUpdate::UpdatedAnimation); 311 WTF_ALLOW_INIT_WITH_MEM_FUNCTIONS(blink::CSSAnimationUpdate::UpdatedAnimation);
315 WTF_ALLOW_INIT_WITH_MEM_FUNCTIONS(blink::CSSAnimationUpdate::UpdatedAnimationSty le); 312 WTF_ALLOW_INIT_WITH_MEM_FUNCTIONS(blink::CSSAnimationUpdate::UpdatedAnimationSty le);
316 313
317 #endif 314 #endif
OLDNEW
« no previous file with comments | « Source/core/animation/css/CSSAnimatableValueFactory.cpp ('k') | Source/core/animation/css/CSSAnimations.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698