| Index: third_party/WebKit/Source/core/animation/LegacyStyleInterpolation.h
|
| diff --git a/third_party/WebKit/Source/core/animation/LegacyStyleInterpolation.h b/third_party/WebKit/Source/core/animation/LegacyStyleInterpolation.h
|
| index 5d9dc21c3c844be66792628313e759070bf17ab7..0a0d294e5e37197e2ab7a1733e6225c5a484b156 100644
|
| --- a/third_party/WebKit/Source/core/animation/LegacyStyleInterpolation.h
|
| +++ b/third_party/WebKit/Source/core/animation/LegacyStyleInterpolation.h
|
| @@ -5,12 +5,49 @@
|
| #ifndef LegacyStyleInterpolation_h
|
| #define LegacyStyleInterpolation_h
|
|
|
| -#include "core/animation/StyleInterpolation.h"
|
| +#include "core/CSSPropertyNames.h"
|
| +#include "core/CoreExport.h"
|
| +#include "core/animation/Interpolation.h"
|
| +#include "core/animation/PropertyHandle.h"
|
| #include "core/css/resolver/AnimatedStyleBuilder.h"
|
| #include <memory>
|
|
|
| namespace blink {
|
|
|
| +class StyleResolverState;
|
| +
|
| +class CORE_EXPORT StyleInterpolation : public Interpolation {
|
| + public:
|
| + // 1) convert m_cachedValue into an X
|
| + // 2) shove X into StyleResolverState
|
| + // X can be:
|
| + // (1) a CSSValue (and applied via StyleBuilder::applyProperty)
|
| + // (2) an AnimatableValue (and applied via
|
| + // AnimatedStyleBuilder::applyProperty)
|
| + // (3) a custom value that is inserted directly into the StyleResolverState.
|
| + virtual void apply(StyleResolverState&) const = 0;
|
| +
|
| + bool isStyleInterpolation() const final { return true; }
|
| +
|
| + CSSPropertyID id() const { return m_id; }
|
| +
|
| + PropertyHandle getProperty() const final { return PropertyHandle(id()); }
|
| +
|
| + protected:
|
| + CSSPropertyID m_id;
|
| +
|
| + StyleInterpolation(std::unique_ptr<InterpolableValue> start,
|
| + std::unique_ptr<InterpolableValue> end,
|
| + CSSPropertyID id)
|
| + : Interpolation(std::move(start), std::move(end)), m_id(id) {}
|
| +};
|
| +
|
| +DEFINE_TYPE_CASTS(StyleInterpolation,
|
| + Interpolation,
|
| + value,
|
| + value->isStyleInterpolation(),
|
| + value.isStyleInterpolation());
|
| +
|
| class LegacyStyleInterpolation : public StyleInterpolation {
|
| public:
|
| static PassRefPtr<LegacyStyleInterpolation> create(
|
|
|