| OLD | NEW | 
|   1 // Copyright 2014 The Chromium Authors. All rights reserved. |   1 // Copyright 2014 The Chromium Authors. All rights reserved. | 
|   2 // Use of this source code is governed by a BSD-style license that can be |   2 // Use of this source code is governed by a BSD-style license that can be | 
|   3 // found in the LICENSE file. |   3 // found in the LICENSE file. | 
|   4  |   4  | 
|   5 #ifndef DeferredLegacyStyleInterpolation_h |   5 #ifndef DeferredLegacyStyleInterpolation_h | 
|   6 #define DeferredLegacyStyleInterpolation_h |   6 #define DeferredLegacyStyleInterpolation_h | 
|   7  |   7  | 
|   8 #include "core/CoreExport.h" |   8 #include "core/CoreExport.h" | 
|   9 #include "core/animation/LegacyStyleInterpolation.h" |   9 #include "core/animation/LegacyStyleInterpolation.h" | 
|  10 #include "core/animation/StyleInterpolation.h" |  10 #include "core/animation/StyleInterpolation.h" | 
|  11 #include "core/css/CSSValue.h" |  11 #include "core/css/CSSValue.h" | 
|  12  |  12  | 
|  13 namespace blink { |  13 namespace blink { | 
|  14  |  14  | 
|  15 class CSSBasicShapeCircleValue; |  15 class CSSBasicShapeCircleValue; | 
|  16 class CSSBasicShapeEllipseValue; |  16 class CSSBasicShapeEllipseValue; | 
|  17 class CSSBasicShapePolygonValue; |  17 class CSSBasicShapePolygonValue; | 
|  18 class CSSBasicShapeInsetValue; |  18 class CSSBasicShapeInsetValue; | 
|  19 class CSSImageValue; |  19 class CSSImageValue; | 
|  20 class CSSPrimitiveValue; |  20 class CSSPrimitiveValue; | 
|  21 class CSSQuadValue; |  21 class CSSQuadValue; | 
|  22 class CSSShadowValue; |  22 class CSSShadowValue; | 
|  23 class CSSSVGDocumentValue; |  23 class CSSSVGDocumentValue; | 
|  24 class CSSValueList; |  24 class CSSValueList; | 
|  25 class CSSValuePair; |  25 class CSSValuePair; | 
|  26  |  26  | 
|  27 class CORE_EXPORT DeferredLegacyStyleInterpolation : public StyleInterpolation { |  27 class CORE_EXPORT DeferredLegacyStyleInterpolation : public StyleInterpolation { | 
|  28 public: |  28 public: | 
|  29     static PassRefPtr<DeferredLegacyStyleInterpolation> create(PassRefPtrWillBeR
    awPtr<CSSValue> start, PassRefPtrWillBeRawPtr<CSSValue> end, CSSPropertyID id) |  29     static PassRefPtr<DeferredLegacyStyleInterpolation> create(RawPtr<CSSValue> 
    start, RawPtr<CSSValue> end, CSSPropertyID id) | 
|  30     { |  30     { | 
|  31         return adoptRef(new DeferredLegacyStyleInterpolation(start, end, id)); |  31         return adoptRef(new DeferredLegacyStyleInterpolation(start, end, id)); | 
|  32     } |  32     } | 
|  33  |  33  | 
|  34     void apply(StyleResolverState&) const override; |  34     void apply(StyleResolverState&) const override; | 
|  35  |  35  | 
|  36     static bool interpolationRequiresStyleResolve(const CSSValue&); |  36     static bool interpolationRequiresStyleResolve(const CSSValue&); | 
|  37     static bool interpolationRequiresStyleResolve(const CSSPrimitiveValue&); |  37     static bool interpolationRequiresStyleResolve(const CSSPrimitiveValue&); | 
|  38     static bool interpolationRequiresStyleResolve(const CSSImageValue&); |  38     static bool interpolationRequiresStyleResolve(const CSSImageValue&); | 
|  39     static bool interpolationRequiresStyleResolve(const CSSShadowValue&); |  39     static bool interpolationRequiresStyleResolve(const CSSShadowValue&); | 
|  40     static bool interpolationRequiresStyleResolve(const CSSSVGDocumentValue&); |  40     static bool interpolationRequiresStyleResolve(const CSSSVGDocumentValue&); | 
|  41     static bool interpolationRequiresStyleResolve(const CSSValueList&); |  41     static bool interpolationRequiresStyleResolve(const CSSValueList&); | 
|  42     static bool interpolationRequiresStyleResolve(const CSSValuePair&); |  42     static bool interpolationRequiresStyleResolve(const CSSValuePair&); | 
|  43     static bool interpolationRequiresStyleResolve(const CSSBasicShapeCircleValue
    &); |  43     static bool interpolationRequiresStyleResolve(const CSSBasicShapeCircleValue
    &); | 
|  44     static bool interpolationRequiresStyleResolve(const CSSBasicShapeEllipseValu
    e&); |  44     static bool interpolationRequiresStyleResolve(const CSSBasicShapeEllipseValu
    e&); | 
|  45     static bool interpolationRequiresStyleResolve(const CSSBasicShapePolygonValu
    e&); |  45     static bool interpolationRequiresStyleResolve(const CSSBasicShapePolygonValu
    e&); | 
|  46     static bool interpolationRequiresStyleResolve(const CSSBasicShapeInsetValue&
    ); |  46     static bool interpolationRequiresStyleResolve(const CSSBasicShapeInsetValue&
    ); | 
|  47     static bool interpolationRequiresStyleResolve(const CSSQuadValue&); |  47     static bool interpolationRequiresStyleResolve(const CSSQuadValue&); | 
|  48  |  48  | 
|  49 private: |  49 private: | 
|  50     DeferredLegacyStyleInterpolation(PassRefPtrWillBeRawPtr<CSSValue> start, Pas
    sRefPtrWillBeRawPtr<CSSValue> end, CSSPropertyID id) |  50     DeferredLegacyStyleInterpolation(RawPtr<CSSValue> start, RawPtr<CSSValue> en
    d, CSSPropertyID id) | 
|  51         : StyleInterpolation(InterpolableNumber::create(0), InterpolableNumber::
    create(1), id) |  51         : StyleInterpolation(InterpolableNumber::create(0), InterpolableNumber::
    create(1), id) | 
|  52         , m_startCSSValue(start) |  52         , m_startCSSValue(start) | 
|  53         , m_endCSSValue(end) |  53         , m_endCSSValue(end) | 
|  54         , m_outdated(true) |  54         , m_outdated(true) | 
|  55     { |  55     { | 
|  56     } |  56     } | 
|  57  |  57  | 
|  58     RefPtrWillBePersistent<CSSValue> m_startCSSValue; |  58     Persistent<CSSValue> m_startCSSValue; | 
|  59     RefPtrWillBePersistent<CSSValue> m_endCSSValue; |  59     Persistent<CSSValue> m_endCSSValue; | 
|  60     mutable RefPtr<LegacyStyleInterpolation> m_innerInterpolation; |  60     mutable RefPtr<LegacyStyleInterpolation> m_innerInterpolation; | 
|  61     mutable bool m_outdated; |  61     mutable bool m_outdated; | 
|  62 }; |  62 }; | 
|  63  |  63  | 
|  64 } // namespace blink |  64 } // namespace blink | 
|  65  |  65  | 
|  66 #endif |  66 #endif | 
| OLD | NEW |