summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/WebKit/Source/core/animation/interpolation/DeferredLegacyStyleInterpolation.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/WebKit/Source/core/animation/interpolation/DeferredLegacyStyleInterpolation.h')
-rw-r--r--chromium/third_party/WebKit/Source/core/animation/interpolation/DeferredLegacyStyleInterpolation.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/chromium/third_party/WebKit/Source/core/animation/interpolation/DeferredLegacyStyleInterpolation.h b/chromium/third_party/WebKit/Source/core/animation/interpolation/DeferredLegacyStyleInterpolation.h
new file mode 100644
index 00000000000..f1737bae269
--- /dev/null
+++ b/chromium/third_party/WebKit/Source/core/animation/interpolation/DeferredLegacyStyleInterpolation.h
@@ -0,0 +1,53 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef DeferredLegacyStyleInterpolation_h
+#define DeferredLegacyStyleInterpolation_h
+
+#include "core/animation/interpolation/StyleInterpolation.h"
+#include "core/css/CSSValue.h"
+
+namespace WebCore {
+
+class CSSBasicShape;
+class CSSImageValue;
+class CSSPrimitiveValue;
+class CSSShadowValue;
+class CSSSVGDocumentValue;
+class CSSValueList;
+
+class DeferredLegacyStyleInterpolation : public StyleInterpolation {
+public:
+ static PassRefPtrWillBeRawPtr<DeferredLegacyStyleInterpolation> create(PassRefPtrWillBeRawPtr<CSSValue> start, PassRefPtrWillBeRawPtr<CSSValue> end, CSSPropertyID id)
+ {
+ return adoptRefWillBeNoop(new DeferredLegacyStyleInterpolation(start, end, id));
+ }
+
+ virtual void apply(StyleResolverState&) const OVERRIDE;
+
+ virtual void trace(Visitor*) OVERRIDE;
+
+ static bool interpolationRequiresStyleResolve(const CSSValue&);
+ static bool interpolationRequiresStyleResolve(const CSSPrimitiveValue&);
+ static bool interpolationRequiresStyleResolve(const CSSImageValue&);
+ static bool interpolationRequiresStyleResolve(const CSSShadowValue&);
+ static bool interpolationRequiresStyleResolve(const CSSSVGDocumentValue&);
+ static bool interpolationRequiresStyleResolve(const CSSValueList&);
+ static bool interpolationRequiresStyleResolve(const CSSBasicShape&);
+
+private:
+ DeferredLegacyStyleInterpolation(PassRefPtrWillBeRawPtr<CSSValue> start, PassRefPtrWillBeRawPtr<CSSValue> end, CSSPropertyID id)
+ : StyleInterpolation(InterpolableNumber::create(0), InterpolableNumber::create(1), id)
+ , m_startCSSValue(start)
+ , m_endCSSValue(end)
+ {
+ }
+
+ RefPtrWillBeMember<CSSValue> m_startCSSValue;
+ RefPtrWillBeMember<CSSValue> m_endCSSValue;
+};
+
+}
+
+#endif