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

Side by Side Diff: Source/core/animation/DeferredLegacyStyleInterpolation.h

Issue 1317523002: Changed Pair to be a CSSValue (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@add_const_to_primvalue
Patch Set: Rebase Created 5 years, 3 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 unified diff | Download patch
OLDNEW
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 CSSBasicShape; 15 class CSSBasicShape;
16 class CSSImageValue; 16 class CSSImageValue;
17 class CSSPrimitiveValue; 17 class CSSPrimitiveValue;
18 class CSSQuadValue; 18 class CSSQuadValue;
19 class CSSShadowValue; 19 class CSSShadowValue;
20 class CSSSVGDocumentValue; 20 class CSSSVGDocumentValue;
21 class CSSValueList; 21 class CSSValueList;
22 class CSSValuePair;
22 23
23 class CORE_EXPORT DeferredLegacyStyleInterpolation : public StyleInterpolation { 24 class CORE_EXPORT DeferredLegacyStyleInterpolation : public StyleInterpolation {
24 public: 25 public:
25 static PassRefPtrWillBeRawPtr<DeferredLegacyStyleInterpolation> create(PassR efPtrWillBeRawPtr<CSSValue> start, PassRefPtrWillBeRawPtr<CSSValue> end, CSSProp ertyID id) 26 static PassRefPtrWillBeRawPtr<DeferredLegacyStyleInterpolation> create(PassR efPtrWillBeRawPtr<CSSValue> start, PassRefPtrWillBeRawPtr<CSSValue> end, CSSProp ertyID id)
26 { 27 {
27 return adoptRefWillBeNoop(new DeferredLegacyStyleInterpolation(start, en d, id)); 28 return adoptRefWillBeNoop(new DeferredLegacyStyleInterpolation(start, en d, id));
28 } 29 }
29 30
30 void apply(StyleResolverState&) const override; 31 void apply(StyleResolverState&) const override;
31 32
32 DECLARE_VIRTUAL_TRACE(); 33 DECLARE_VIRTUAL_TRACE();
33 34
34 static bool interpolationRequiresStyleResolve(const CSSValue&); 35 static bool interpolationRequiresStyleResolve(const CSSValue&);
35 static bool interpolationRequiresStyleResolve(const CSSPrimitiveValue&); 36 static bool interpolationRequiresStyleResolve(const CSSPrimitiveValue&);
36 static bool interpolationRequiresStyleResolve(const CSSImageValue&); 37 static bool interpolationRequiresStyleResolve(const CSSImageValue&);
37 static bool interpolationRequiresStyleResolve(const CSSShadowValue&); 38 static bool interpolationRequiresStyleResolve(const CSSShadowValue&);
38 static bool interpolationRequiresStyleResolve(const CSSSVGDocumentValue&); 39 static bool interpolationRequiresStyleResolve(const CSSSVGDocumentValue&);
39 static bool interpolationRequiresStyleResolve(const CSSValueList&); 40 static bool interpolationRequiresStyleResolve(const CSSValueList&);
41 static bool interpolationRequiresStyleResolve(const CSSValuePair&);
40 static bool interpolationRequiresStyleResolve(const CSSBasicShape&); 42 static bool interpolationRequiresStyleResolve(const CSSBasicShape&);
41 static bool interpolationRequiresStyleResolve(const CSSQuadValue&); 43 static bool interpolationRequiresStyleResolve(const CSSQuadValue&);
42 44
43 void underlyingStyleChanged() { m_outdated = true; } 45 void underlyingStyleChanged() { m_outdated = true; }
44 46
45 bool isDeferredLegacyStyleInterpolation() const final { return true; } 47 bool isDeferredLegacyStyleInterpolation() const final { return true; }
46 48
47 private: 49 private:
48 DeferredLegacyStyleInterpolation(PassRefPtrWillBeRawPtr<CSSValue> start, Pas sRefPtrWillBeRawPtr<CSSValue> end, CSSPropertyID id) 50 DeferredLegacyStyleInterpolation(PassRefPtrWillBeRawPtr<CSSValue> start, Pas sRefPtrWillBeRawPtr<CSSValue> end, CSSPropertyID id)
49 : StyleInterpolation(InterpolableNumber::create(0), InterpolableNumber:: create(1), id) 51 : StyleInterpolation(InterpolableNumber::create(0), InterpolableNumber:: create(1), id)
50 , m_startCSSValue(start) 52 , m_startCSSValue(start)
51 , m_endCSSValue(end) 53 , m_endCSSValue(end)
52 , m_outdated(true) 54 , m_outdated(true)
53 { 55 {
54 } 56 }
55 57
56 RefPtrWillBeMember<CSSValue> m_startCSSValue; 58 RefPtrWillBeMember<CSSValue> m_startCSSValue;
57 RefPtrWillBeMember<CSSValue> m_endCSSValue; 59 RefPtrWillBeMember<CSSValue> m_endCSSValue;
58 mutable RefPtrWillBeMember<LegacyStyleInterpolation> m_innerInterpolation; 60 mutable RefPtrWillBeMember<LegacyStyleInterpolation> m_innerInterpolation;
59 mutable bool m_outdated; 61 mutable bool m_outdated;
60 }; 62 };
61 63
62 DEFINE_TYPE_CASTS(DeferredLegacyStyleInterpolation, StyleInterpolation, value, v alue->isDeferredLegacyStyleInterpolation(), value.isDeferredLegacyStyleInterpola tion()); 64 DEFINE_TYPE_CASTS(DeferredLegacyStyleInterpolation, StyleInterpolation, value, v alue->isDeferredLegacyStyleInterpolation(), value.isDeferredLegacyStyleInterpola tion());
63 65
64 } 66 }
65 67
66 #endif 68 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698