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

Side by Side Diff: third_party/WebKit/Source/core/animation/StringKeyframe.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 // 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 StringKeyframe_h 5 #ifndef StringKeyframe_h
6 #define StringKeyframe_h 6 #define StringKeyframe_h
7 7
8 #include "core/animation/Keyframe.h" 8 #include "core/animation/Keyframe.h"
9 #include "core/css/StylePropertySet.h" 9 #include "core/css/StylePropertySet.h"
10 10
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 50
51 class CSSPropertySpecificKeyframe : public Keyframe::PropertySpecificKeyfram e { 51 class CSSPropertySpecificKeyframe : public Keyframe::PropertySpecificKeyfram e {
52 public: 52 public:
53 static PassRefPtr<CSSPropertySpecificKeyframe> create(double offset, Pas sRefPtr<TimingFunction> easing, CSSValue* value, EffectModel::CompositeOperation composite) 53 static PassRefPtr<CSSPropertySpecificKeyframe> create(double offset, Pas sRefPtr<TimingFunction> easing, CSSValue* value, EffectModel::CompositeOperation composite)
54 { 54 {
55 return adoptRef(new CSSPropertySpecificKeyframe(offset, easing, valu e, composite)); 55 return adoptRef(new CSSPropertySpecificKeyframe(offset, easing, valu e, composite));
56 } 56 }
57 57
58 CSSValue* value() const { return m_value.get(); } 58 CSSValue* value() const { return m_value.get(); }
59 59
60 virtual bool populateAnimatableValue(CSSPropertyID, Element&, const Comp utedStyle* baseStyle, bool force) const; 60 bool populateAnimatableValue(CSSPropertyID, Element&, const ComputedStyl e& baseStyle, const ComputedStyle* parentStyle) const final;
61 const PassRefPtr<AnimatableValue> getAnimatableValue() const final { ret urn m_animatableValueCache.get(); } 61 const PassRefPtr<AnimatableValue> getAnimatableValue() const final { ret urn m_animatableValueCache.get(); }
62 void setAnimatableValue(PassRefPtr<AnimatableValue> value) { m_animatabl eValueCache = value; } 62 void setAnimatableValue(PassRefPtr<AnimatableValue> value) { m_animatabl eValueCache = value; }
63 63
64 bool isNeutral() const final { return !m_value; } 64 bool isNeutral() const final { return !m_value; }
65 PassRefPtr<Keyframe::PropertySpecificKeyframe> neutralKeyframe(double of fset, PassRefPtr<TimingFunction> easing) const final; 65 PassRefPtr<Keyframe::PropertySpecificKeyframe> neutralKeyframe(double of fset, PassRefPtr<TimingFunction> easing) const final;
66 66
67 private: 67 private:
68 CSSPropertySpecificKeyframe(double offset, PassRefPtr<TimingFunction> ea sing, CSSValue* value, EffectModel::CompositeOperation composite) 68 CSSPropertySpecificKeyframe(double offset, PassRefPtr<TimingFunction> ea sing, CSSValue* value, EffectModel::CompositeOperation composite)
69 : Keyframe::PropertySpecificKeyframe(offset, easing, composite) 69 : Keyframe::PropertySpecificKeyframe(offset, easing, composite)
70 , m_value(value) 70 , m_value(value)
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 using CSSPropertySpecificKeyframe = StringKeyframe::CSSPropertySpecificKeyframe; 127 using CSSPropertySpecificKeyframe = StringKeyframe::CSSPropertySpecificKeyframe;
128 using SVGPropertySpecificKeyframe = StringKeyframe::SVGPropertySpecificKeyframe; 128 using SVGPropertySpecificKeyframe = StringKeyframe::SVGPropertySpecificKeyframe;
129 129
130 DEFINE_TYPE_CASTS(StringKeyframe, Keyframe, value, value->isStringKeyframe(), va lue.isStringKeyframe()); 130 DEFINE_TYPE_CASTS(StringKeyframe, Keyframe, value, value->isStringKeyframe(), va lue.isStringKeyframe());
131 DEFINE_TYPE_CASTS(CSSPropertySpecificKeyframe, Keyframe::PropertySpecificKeyfram e, value, value->isCSSPropertySpecificKeyframe(), value.isCSSPropertySpecificKey frame()); 131 DEFINE_TYPE_CASTS(CSSPropertySpecificKeyframe, Keyframe::PropertySpecificKeyfram e, value, value->isCSSPropertySpecificKeyframe(), value.isCSSPropertySpecificKey frame());
132 DEFINE_TYPE_CASTS(SVGPropertySpecificKeyframe, Keyframe::PropertySpecificKeyfram e, value, value->isSVGPropertySpecificKeyframe(), value.isSVGPropertySpecificKey frame()); 132 DEFINE_TYPE_CASTS(SVGPropertySpecificKeyframe, Keyframe::PropertySpecificKeyfram e, value, value->isSVGPropertySpecificKeyframe(), value.isSVGPropertySpecificKey frame());
133 133
134 } // namespace blink 134 } // namespace blink
135 135
136 #endif 136 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698