OLD | NEW |
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/Interpolation.h" | 9 #include "core/animation/Interpolation.h" |
10 #include "core/animation/KeyframeEffectModel.h" | 10 #include "core/animation/KeyframeEffectModel.h" |
11 #include "core/animation/css/CSSAnimatableValueFactory.h" | 11 #include "core/animation/css/CSSAnimatableValueFactory.h" |
12 #include "core/animation/css/CSSPropertyEquality.h" | 12 #include "core/animation/css/CSSPropertyEquality.h" |
13 #include "core/css/CSSKeyframesRule.h" | 13 #include "core/css/CSSKeyframesRule.h" |
14 #include "core/layout/LayoutObject.h" | 14 #include "core/layout/LayoutObject.h" |
| 15 #include "wtf/Allocator.h" |
15 #include "wtf/HashMap.h" | 16 #include "wtf/HashMap.h" |
16 #include "wtf/Vector.h" | 17 #include "wtf/Vector.h" |
17 #include "wtf/text/AtomicString.h" | 18 #include "wtf/text/AtomicString.h" |
18 | 19 |
19 namespace blink { | 20 namespace blink { |
20 | 21 |
21 class Animation; | 22 class Animation; |
22 class InertEffect; | 23 class InertEffect; |
23 | 24 |
24 // This class stores the CSS Animations/Transitions information we use during a
style recalc. | 25 // This class stores the CSS Animations/Transitions information we use during a
style recalc. |
25 // This includes updates to animations/transitions as well as the Interpolations
to be applied. | 26 // This includes updates to animations/transitions as well as the Interpolations
to be applied. |
26 class CSSAnimationUpdate final : public NoBaseWillBeGarbageCollectedFinalized<CS
SAnimationUpdate> { | 27 class CSSAnimationUpdate final : public NoBaseWillBeGarbageCollectedFinalized<CS
SAnimationUpdate> { |
| 28 WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED(CSSAnimationUpdate); |
| 29 WTF_MAKE_NONCOPYABLE(CSSAnimationUpdate); |
27 public: | 30 public: |
| 31 CSSAnimationUpdate() { } |
| 32 |
28 class NewAnimation { | 33 class NewAnimation { |
29 ALLOW_ONLY_INLINE_ALLOCATION(); | 34 ALLOW_ONLY_INLINE_ALLOCATION(); |
30 public: | 35 public: |
31 NewAnimation() | 36 NewAnimation() |
32 : styleRuleVersion(0) | 37 : styleRuleVersion(0) |
33 { | 38 { |
34 } | 39 } |
35 | 40 |
36 NewAnimation(AtomicString name, PassRefPtrWillBeRawPtr<InertEffect> effe
ct, Timing timing, PassRefPtrWillBeRawPtr<StyleRuleKeyframes> styleRule) | 41 NewAnimation(AtomicString name, PassRefPtrWillBeRawPtr<InertEffect> effe
ct, Timing timing, PassRefPtrWillBeRawPtr<StyleRuleKeyframes> styleRule) |
37 : name(name) | 42 : name(name) |
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
252 ActiveInterpolationMap m_activeInterpolationsForTransitions; | 257 ActiveInterpolationMap m_activeInterpolationsForTransitions; |
253 }; | 258 }; |
254 | 259 |
255 } // namespace blink | 260 } // namespace blink |
256 | 261 |
257 WTF_ALLOW_INIT_WITH_MEM_FUNCTIONS(blink::CSSAnimationUpdate::NewAnimation); | 262 WTF_ALLOW_INIT_WITH_MEM_FUNCTIONS(blink::CSSAnimationUpdate::NewAnimation); |
258 WTF_ALLOW_INIT_WITH_MEM_FUNCTIONS(blink::CSSAnimationUpdate::UpdatedAnimation); | 263 WTF_ALLOW_INIT_WITH_MEM_FUNCTIONS(blink::CSSAnimationUpdate::UpdatedAnimation); |
259 WTF_ALLOW_INIT_WITH_MEM_FUNCTIONS(blink::CSSAnimationUpdate::UpdatedAnimationSty
le); | 264 WTF_ALLOW_INIT_WITH_MEM_FUNCTIONS(blink::CSSAnimationUpdate::UpdatedAnimationSty
le); |
260 | 265 |
261 #endif | 266 #endif |
OLD | NEW |