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

Side by Side Diff: Source/core/animation/animatable/AnimatableValueKeyframe.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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 AnimatableValueKeyframe_h 5 #ifndef AnimatableValueKeyframe_h
6 #define AnimatableValueKeyframe_h 6 #define AnimatableValueKeyframe_h
7 7
8 #include "core/CoreExport.h" 8 #include "core/CoreExport.h"
9 #include "core/animation/Keyframe.h" 9 #include "core/animation/Keyframe.h"
10 #include "core/animation/animatable/AnimatableValue.h" 10 #include "core/animation/animatable/AnimatableValue.h"
11 11
12 namespace blink { 12 namespace blink {
13 13
14 class CORE_EXPORT AnimatableValueKeyframe : public Keyframe { 14 class CORE_EXPORT AnimatableValueKeyframe : public Keyframe {
15 public: 15 public:
16 static PassRefPtrWillBeRawPtr<AnimatableValueKeyframe> create() 16 static AnimatableValueKeyframe* create()
17 { 17 {
18 return adoptRefWillBeNoop(new AnimatableValueKeyframe); 18 return new AnimatableValueKeyframe;
19 } 19 }
20 void setPropertyValue(CSSPropertyID property, PassRefPtrWillBeRawPtr<Animata bleValue> value) 20 void setPropertyValue(CSSPropertyID property, AnimatableValue* value)
21 { 21 {
22 m_propertyValues.set(property, value); 22 m_propertyValues.set(property, value);
23 } 23 }
24 void clearPropertyValue(CSSPropertyID property) { m_propertyValues.remove(pr operty); } 24 void clearPropertyValue(CSSPropertyID property) { m_propertyValues.remove(pr operty); }
25 AnimatableValue* propertyValue(CSSPropertyID property) const 25 AnimatableValue* propertyValue(CSSPropertyID property) const
26 { 26 {
27 ASSERT(m_propertyValues.contains(property)); 27 ASSERT(m_propertyValues.contains(property));
28 return m_propertyValues.get(property); 28 return m_propertyValues.get(property);
29 } 29 }
30 PropertyHandleSet properties() const override; 30 PropertyHandleSet properties() const override;
31 31
32 DECLARE_VIRTUAL_TRACE(); 32 DECLARE_VIRTUAL_TRACE();
33 33
34 class PropertySpecificKeyframe : public Keyframe::PropertySpecificKeyframe { 34 class PropertySpecificKeyframe : public Keyframe::PropertySpecificKeyframe {
35 public: 35 public:
36 PropertySpecificKeyframe(double offset, PassRefPtr<TimingFunction> easin g, const AnimatableValue*, EffectModel::CompositeOperation); 36 PropertySpecificKeyframe(double offset, PassRefPtr<TimingFunction> easin g, const AnimatableValue*, EffectModel::CompositeOperation);
37 37
38 AnimatableValue* value() const { return m_value.get(); } 38 AnimatableValue* value() const { return m_value; }
39 const PassRefPtrWillBeRawPtr<AnimatableValue> getAnimatableValue() const final { return m_value; } 39 AnimatableValue* getAnimatableValue() const final { return m_value; }
40 40
41 PassOwnPtrWillBeRawPtr<Keyframe::PropertySpecificKeyframe> neutralKeyfra me(double offset, PassRefPtr<TimingFunction> easing) const final; 41 Keyframe::PropertySpecificKeyframe* neutralKeyframe(double offset, PassR efPtr<TimingFunction> easing) const final;
42 PassRefPtrWillBeRawPtr<Interpolation> maybeCreateInterpolation(PropertyH andle, Keyframe::PropertySpecificKeyframe& end, Element*, const ComputedStyle*) const final; 42 Interpolation* maybeCreateInterpolation(PropertyHandle, Keyframe::Proper tySpecificKeyframe& end, Element*, const ComputedStyle*) const final;
43 43
44 DECLARE_VIRTUAL_TRACE(); 44 DECLARE_VIRTUAL_TRACE();
45 45
46 private: 46 private:
47 PropertySpecificKeyframe(double offset, PassRefPtr<TimingFunction> easin g, PassRefPtrWillBeRawPtr<AnimatableValue>); 47 PropertySpecificKeyframe(double offset, PassRefPtr<TimingFunction> easin g, AnimatableValue*);
48 48
49 PassOwnPtrWillBeRawPtr<Keyframe::PropertySpecificKeyframe> cloneWithOffs et(double offset) const override; 49 Keyframe::PropertySpecificKeyframe* cloneWithOffset(double offset) const override;
50 bool isAnimatableValuePropertySpecificKeyframe() const override { return true; } 50 bool isAnimatableValuePropertySpecificKeyframe() const override { return true; }
51 51
52 RefPtrWillBeMember<AnimatableValue> m_value; 52 Member<AnimatableValue> m_value;
53 }; 53 };
54 54
55 private: 55 private:
56 AnimatableValueKeyframe() { } 56 AnimatableValueKeyframe() { }
57 57
58 AnimatableValueKeyframe(const AnimatableValueKeyframe& copyFrom); 58 AnimatableValueKeyframe(const AnimatableValueKeyframe& copyFrom);
59 59
60 PassRefPtrWillBeRawPtr<Keyframe> clone() const override; 60 Keyframe* clone() const override;
61 PassOwnPtrWillBeRawPtr<Keyframe::PropertySpecificKeyframe> createPropertySpe cificKeyframe(PropertyHandle) const override; 61 Keyframe::PropertySpecificKeyframe* createPropertySpecificKeyframe(PropertyH andle) const override;
62 62
63 bool isAnimatableValueKeyframe() const override { return true; } 63 bool isAnimatableValueKeyframe() const override { return true; }
64 64
65 using PropertyValueMap = WillBeHeapHashMap<CSSPropertyID, RefPtrWillBeMember <AnimatableValue>>; 65 using PropertyValueMap = HeapHashMap<CSSPropertyID, Member<AnimatableValue>> ;
66 PropertyValueMap m_propertyValues; 66 PropertyValueMap m_propertyValues;
67 }; 67 };
68 68
69 using AnimatableValuePropertySpecificKeyframe = AnimatableValueKeyframe::Propert ySpecificKeyframe; 69 using AnimatableValuePropertySpecificKeyframe = AnimatableValueKeyframe::Propert ySpecificKeyframe;
70 70
71 DEFINE_TYPE_CASTS(AnimatableValueKeyframe, Keyframe, value, value->isAnimatableV alueKeyframe(), value.isAnimatableValueKeyframe()); 71 DEFINE_TYPE_CASTS(AnimatableValueKeyframe, Keyframe, value, value->isAnimatableV alueKeyframe(), value.isAnimatableValueKeyframe());
72 DEFINE_TYPE_CASTS(AnimatableValuePropertySpecificKeyframe, Keyframe::PropertySpe cificKeyframe, value, value->isAnimatableValuePropertySpecificKeyframe(), value. isAnimatableValuePropertySpecificKeyframe()); 72 DEFINE_TYPE_CASTS(AnimatableValuePropertySpecificKeyframe, Keyframe::PropertySpe cificKeyframe, value, value->isAnimatableValuePropertySpecificKeyframe(), value. isAnimatableValuePropertySpecificKeyframe());
73 73
74 } 74 }
75 75
76 #endif 76 #endif
OLDNEW
« no previous file with comments | « Source/core/animation/animatable/AnimatableValue.cpp ('k') | Source/core/animation/animatable/AnimatableValueKeyframe.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698