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

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

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

Powered by Google App Engine
This is Rietveld 408576698