| Index: Source/core/animation/StringKeyframe.h
|
| diff --git a/Source/core/animation/StringKeyframe.h b/Source/core/animation/StringKeyframe.h
|
| index b6b6a2d8eb40ea2a35bff59a962e9cc5115a4dd6..99dc7faa8b3dbffd05e92050300263274324aec1 100644
|
| --- a/Source/core/animation/StringKeyframe.h
|
| +++ b/Source/core/animation/StringKeyframe.h
|
| @@ -19,6 +19,8 @@ public:
|
| return adoptRefWillBeNoop(new StringKeyframe);
|
| }
|
| void setPropertyValue(CSSPropertyID, const String& value, StyleSheetContents*);
|
| + void setPropertyValue(CSSPropertyID, PassRefPtr<CSSValue>);
|
| + void setPropertyAnimatableValue(CSSPropertyID, PassRefPtr<AnimatableValue>);
|
| void clearPropertyValue(CSSPropertyID property) { m_propertySet->removeProperty(property); }
|
| CSSValue* propertyValue(CSSPropertyID property) const
|
| {
|
| @@ -33,7 +35,7 @@ public:
|
|
|
| class PropertySpecificKeyframe : public Keyframe::PropertySpecificKeyframe {
|
| public:
|
| - PropertySpecificKeyframe(double offset, PassRefPtr<TimingFunction> easing, CSSValue*, AnimationEffect::CompositeOperation);
|
| + PropertySpecificKeyframe(double offset, PassRefPtr<TimingFunction> easing, CSSValue*, AnimationEffect::CompositeOperation, PassRefPtr<AnimatableValue> = nullptr);
|
|
|
| CSSValue* value() const { return m_value.get(); }
|
| virtual const PassRefPtrWillBeRawPtr<AnimatableValue> getAnimatableValue() const override final { return m_animatableValueCache.get(); }
|
| @@ -66,6 +68,7 @@ private:
|
| virtual bool isStringKeyframe() const override { return true; }
|
|
|
| RefPtrWillBeMember<MutableStylePropertySet> m_propertySet;
|
| + WillBeHeapHashMap<CSSPropertyID, RefPtrWillBeMember<AnimatableValue>> m_cachedAnimatableValues;
|
| };
|
|
|
| using StringPropertySpecificKeyframe = StringKeyframe::PropertySpecificKeyframe;
|
|
|