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

Side by Side Diff: Source/core/animation/StringKeyframe.h

Issue 1262283002: Fix 50% flip handling of CSS Animations using CSS wide keywords (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebased 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 | Annotate | Revision Log
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 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 PassRefPtrWillBeRawPtr<Interpolation> maybeCreateInterpolation(PropertyH andle, Keyframe::PropertySpecificKeyframe& end, Element*, const ComputedStyle* b aseStyle) const final; 54 PassRefPtrWillBeRawPtr<Interpolation> maybeCreateInterpolation(PropertyH andle, Keyframe::PropertySpecificKeyframe& end, Element*, const ComputedStyle* b aseStyle) const final;
55 55
56 DECLARE_VIRTUAL_TRACE(); 56 DECLARE_VIRTUAL_TRACE();
57 57
58 private: 58 private:
59 CSSPropertySpecificKeyframe(double offset, PassRefPtr<TimingFunction> ea sing, CSSValue*); 59 CSSPropertySpecificKeyframe(double offset, PassRefPtr<TimingFunction> ea sing, CSSValue*);
60 60
61 virtual PassOwnPtrWillBeRawPtr<Keyframe::PropertySpecificKeyframe> clone WithOffset(double offset) const; 61 virtual PassOwnPtrWillBeRawPtr<Keyframe::PropertySpecificKeyframe> clone WithOffset(double offset) const;
62 bool isCSSPropertySpecificKeyframe() const override { return true; } 62 bool isCSSPropertySpecificKeyframe() const override { return true; }
63 63
64 PassRefPtrWillBeRawPtr<Interpolation> createLegacyStyleInterpolation(CSS PropertyID, Keyframe::PropertySpecificKeyframe& end, Element*, const ComputedSty le* baseStyle) const;
64 static bool createInterpolationsFromCSSValues(CSSPropertyID, CSSValue* f romCSSValue, CSSValue* toCSSValue, Element*, OwnPtrWillBeRawPtr<WillBeHeapVector <RefPtrWillBeMember<Interpolation>>>& interpolations); 65 static bool createInterpolationsFromCSSValues(CSSPropertyID, CSSValue* f romCSSValue, CSSValue* toCSSValue, Element*, OwnPtrWillBeRawPtr<WillBeHeapVector <RefPtrWillBeMember<Interpolation>>>& interpolations);
65 66
66 void populateAnimatableValueCaches(CSSPropertyID, Keyframe::PropertySpec ificKeyframe&, Element*, CSSValue& fromCSSValue, CSSValue& toCSSValue) const; 67 void populateAnimatableValueCaches(CSSPropertyID, Keyframe::PropertySpec ificKeyframe&, Element*, CSSValue& fromCSSValue, CSSValue& toCSSValue) const;
67 68
68 RefPtrWillBeMember<CSSValue> m_value; 69 RefPtrWillBeMember<CSSValue> m_value;
69 mutable RefPtrWillBeMember<AnimatableValue> m_animatableValueCache; 70 mutable RefPtrWillBeMember<AnimatableValue> m_animatableValueCache;
70 }; 71 };
71 72
72 class SVGPropertySpecificKeyframe : public Keyframe::PropertySpecificKeyfram e { 73 class SVGPropertySpecificKeyframe : public Keyframe::PropertySpecificKeyfram e {
73 public: 74 public:
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 using CSSPropertySpecificKeyframe = StringKeyframe::CSSPropertySpecificKeyframe; 112 using CSSPropertySpecificKeyframe = StringKeyframe::CSSPropertySpecificKeyframe;
112 using SVGPropertySpecificKeyframe = StringKeyframe::SVGPropertySpecificKeyframe; 113 using SVGPropertySpecificKeyframe = StringKeyframe::SVGPropertySpecificKeyframe;
113 114
114 DEFINE_TYPE_CASTS(StringKeyframe, Keyframe, value, value->isStringKeyframe(), va lue.isStringKeyframe()); 115 DEFINE_TYPE_CASTS(StringKeyframe, Keyframe, value, value->isStringKeyframe(), va lue.isStringKeyframe());
115 DEFINE_TYPE_CASTS(CSSPropertySpecificKeyframe, Keyframe::PropertySpecificKeyfram e, value, value->isCSSPropertySpecificKeyframe(), value.isCSSPropertySpecificKey frame()); 116 DEFINE_TYPE_CASTS(CSSPropertySpecificKeyframe, Keyframe::PropertySpecificKeyfram e, value, value->isCSSPropertySpecificKeyframe(), value.isCSSPropertySpecificKey frame());
116 DEFINE_TYPE_CASTS(SVGPropertySpecificKeyframe, Keyframe::PropertySpecificKeyfram e, value, value->isSVGPropertySpecificKeyframe(), value.isSVGPropertySpecificKey frame()); 117 DEFINE_TYPE_CASTS(SVGPropertySpecificKeyframe, Keyframe::PropertySpecificKeyfram e, value, value->isSVGPropertySpecificKeyframe(), value.isSVGPropertySpecificKey frame());
117 118
118 } 119 }
119 120
120 #endif 121 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698