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

Unified Diff: Source/core/animation/StringKeyframe.h

Issue 851693007: Prepare for responsive CSS animations. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Attempt to re-snapshot only if needed Created 5 years, 11 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 side-by-side diff with in-line comments
Download patch
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;

Powered by Google App Engine
This is Rietveld 408576698