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

Unified Diff: third_party/WebKit/Source/core/animation/InvalidatableStyleInterpolation.h

Issue 1394343003: Web Animations: Remove CSS dependence from InterpolationType (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@_specialCase0and1
Patch Set: NIVs Created 5 years, 2 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: third_party/WebKit/Source/core/animation/InvalidatableStyleInterpolation.h
diff --git a/third_party/WebKit/Source/core/animation/InvalidatableStyleInterpolation.h b/third_party/WebKit/Source/core/animation/InvalidatableStyleInterpolation.h
index 924ed6aa61f90663c40808efc06f3b64409fb538..e5ca3104f80d872ee4ab10aa122878c1dd57998e 100644
--- a/third_party/WebKit/Source/core/animation/InvalidatableStyleInterpolation.h
+++ b/third_party/WebKit/Source/core/animation/InvalidatableStyleInterpolation.h
@@ -14,30 +14,30 @@ namespace blink {
// TODO(alancutter): This class will replace *StyleInterpolation, SVGInterpolation, Interpolation.
// For now it needs to distinguish itself during the refactor and temporarily has an ugly name.
-// TODO(alancutter): Make this class generic for any animation environment so it can be reused for SVG animations.
-class CORE_EXPORT InvalidatableStyleInterpolation : public StyleInterpolation {
+class CORE_EXPORT InvalidatableStyleInterpolation : public Interpolation {
public:
static PassRefPtr<InvalidatableStyleInterpolation> create(
const Vector<const InterpolationType*>& InterpolationTypes,
- const CSSPropertySpecificKeyframe& startKeyframe,
- const CSSPropertySpecificKeyframe& endKeyframe)
+ const PropertySpecificKeyframe& startKeyframe,
+ const PropertySpecificKeyframe& endKeyframe)
{
return adoptRef(new InvalidatableStyleInterpolation(InterpolationTypes, startKeyframe, endKeyframe));
}
+ PropertyHandle property() const final { return m_interpolationTypes.first()->property(); }
virtual void interpolate(int iteration, double fraction);
bool dependsOnUnderlyingValue() const;
- virtual void apply(StyleResolverState&) const { ASSERT_NOT_REACHED(); }
- static void applyStack(const ActiveInterpolations&, StyleResolverState&);
+ virtual void apply(InterpolationEnvironment&) const { ASSERT_NOT_REACHED(); }
+ static void applyStack(const ActiveInterpolations&, InterpolationEnvironment&);
virtual bool isInvalidatableStyleInterpolation() const { return true; }
private:
InvalidatableStyleInterpolation(
const Vector<const InterpolationType*>& interpolationTypes,
- const CSSPropertySpecificKeyframe& startKeyframe,
- const CSSPropertySpecificKeyframe& endKeyframe)
- : StyleInterpolation(nullptr, nullptr, interpolationTypes.first()->property())
+ const PropertySpecificKeyframe& startKeyframe,
+ const PropertySpecificKeyframe& endKeyframe)
+ : Interpolation(nullptr, nullptr)
, m_interpolationTypes(interpolationTypes)
, m_startKeyframe(&startKeyframe)
, m_endKeyframe(&endKeyframe)
@@ -45,19 +45,19 @@ private:
, m_isCached(false)
{ }
- PassOwnPtr<InterpolationValue> maybeConvertUnderlyingValue(const StyleResolverState&) const;
- const InterpolationValue* ensureValidInterpolation(const StyleResolverState&, const UnderlyingValue&) const;
+ PassOwnPtr<InterpolationValue> maybeConvertUnderlyingValue(const InterpolationEnvironment&) const;
+ const InterpolationValue* ensureValidInterpolation(const InterpolationEnvironment&, const UnderlyingValue&) const;
void clearCache() const;
- bool isCacheValid(const StyleResolverState&, const UnderlyingValue&) const;
+ bool isCacheValid(const InterpolationEnvironment&, const UnderlyingValue&) const;
bool isNeutralKeyframeActive() const;
- PassOwnPtr<PairwisePrimitiveInterpolation> maybeConvertPairwise(const StyleResolverState*, const UnderlyingValue&) const;
- PassOwnPtr<InterpolationValue> convertSingleKeyframe(const CSSPropertySpecificKeyframe&, const StyleResolverState&, const UnderlyingValue&) const;
- void setFlagIfInheritUsed(StyleResolverState&) const;
+ PassOwnPtr<PairwisePrimitiveInterpolation> maybeConvertPairwise(const InterpolationEnvironment*, const UnderlyingValue&) const;
+ PassOwnPtr<InterpolationValue> convertSingleKeyframe(const PropertySpecificKeyframe&, const InterpolationEnvironment&, const UnderlyingValue&) const;
+ void setFlagIfInheritUsed(InterpolationEnvironment&) const;
double underlyingFraction() const;
const Vector<const InterpolationType*>& m_interpolationTypes;
- const CSSPropertySpecificKeyframe* m_startKeyframe;
- const CSSPropertySpecificKeyframe* m_endKeyframe;
+ const PropertySpecificKeyframe* m_startKeyframe;
+ const PropertySpecificKeyframe* m_endKeyframe;
double m_currentFraction;
mutable bool m_isCached;
mutable OwnPtr<PrimitiveInterpolation> m_cachedPairConversion;

Powered by Google App Engine
This is Rietveld 408576698