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

Side by Side Diff: Source/core/animation/CSSValueInterpolationType.cpp

Issue 1120003002: [Oilpan] Migrate most classes under core/animations to Oilpan heap. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebase 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 #include "config.h" 5 #include "config.h"
6 #include "core/animation/CSSValueInterpolationType.h" 6 #include "core/animation/CSSValueInterpolationType.h"
7 7
8 #include "core/css/resolver/StyleBuilder.h" 8 #include "core/css/resolver/StyleBuilder.h"
9 9
10 namespace blink { 10 namespace blink {
11 11
12 class CSSValueNonInterpolableValue : public NonInterpolableValue { 12 class CSSValueNonInterpolableValue : public NonInterpolableValue {
13 public: 13 public:
14 ~CSSValueNonInterpolableValue() override { } 14 ~CSSValueNonInterpolableValue() override { }
15 static PassRefPtrWillBeRawPtr<CSSValueNonInterpolableValue> create(PassRefPt rWillBeRawPtr<CSSValue> cssValue) 15 static CSSValueNonInterpolableValue* create(PassRefPtrWillBeRawPtr<CSSValue> cssValue)
16 { 16 {
17 return adoptRefWillBeNoop(new CSSValueNonInterpolableValue(cssValue)); 17 return new CSSValueNonInterpolableValue(cssValue);
18 } 18 }
19 19
20 CSSValue* cssValue() const { return m_cssValue.get(); } 20 CSSValue* cssValue() const { return m_cssValue.get(); }
21 21
22 DEFINE_INLINE_VIRTUAL_TRACE() 22 DEFINE_INLINE_VIRTUAL_TRACE()
23 { 23 {
24 NonInterpolableValue::trace(visitor); 24 NonInterpolableValue::trace(visitor);
25 visitor->trace(m_cssValue); 25 visitor->trace(m_cssValue);
26 } 26 }
27 27
28 DECLARE_NON_INTERPOLABLE_VALUE_TYPE(); 28 DECLARE_NON_INTERPOLABLE_VALUE_TYPE();
29 29
30 private: 30 private:
31 CSSValueNonInterpolableValue(PassRefPtrWillBeRawPtr<CSSValue> cssValue) 31 CSSValueNonInterpolableValue(PassRefPtrWillBeRawPtr<CSSValue> cssValue)
32 : m_cssValue(cssValue) 32 : m_cssValue(cssValue)
33 { } 33 { }
34 34
35 RefPtrWillBeMember<CSSValue> m_cssValue; 35 RefPtrWillBeMember<CSSValue> m_cssValue;
36 }; 36 };
37 37
38 DEFINE_NON_INTERPOLABLE_VALUE_TYPE(CSSValueNonInterpolableValue); 38 DEFINE_NON_INTERPOLABLE_VALUE_TYPE(CSSValueNonInterpolableValue);
39 DEFINE_NON_INTERPOLABLE_VALUE_TYPE_CASTS(CSSValueNonInterpolableValue); 39 DEFINE_NON_INTERPOLABLE_VALUE_TYPE_CASTS(CSSValueNonInterpolableValue);
40 40
41 PassOwnPtrWillBeRawPtr<InterpolationValue> CSSValueInterpolationType::maybeConve rtSingle(const CSSPropertySpecificKeyframe& keyframe, const StyleResolverState*, ConversionCheckers&) const 41 InterpolationValue* CSSValueInterpolationType::maybeConvertSingle(const CSSPrope rtySpecificKeyframe& keyframe, const StyleResolverState*, ConversionCheckers&) c onst
42 { 42 {
43 return InterpolationValue::create(*this, InterpolableList::create(0), CSSVal ueNonInterpolableValue::create(keyframe.value())); 43 return InterpolationValue::create(*this, InterpolableList::create(0), CSSVal ueNonInterpolableValue::create(keyframe.value()));
44 } 44 }
45 45
46 void CSSValueInterpolationType::apply(const InterpolableValue&, const NonInterpo lableValue* nonInterpolableValue, StyleResolverState& state) const 46 void CSSValueInterpolationType::apply(const InterpolableValue&, const NonInterpo lableValue* nonInterpolableValue, StyleResolverState& state) const
47 { 47 {
48 CSSValue* value = toCSSValueNonInterpolableValue(nonInterpolableValue)->cssV alue(); 48 CSSValue* value = toCSSValueNonInterpolableValue(nonInterpolableValue)->cssV alue();
49 if (value) 49 if (value)
50 StyleBuilder::applyProperty(m_property, state, value); 50 StyleBuilder::applyProperty(m_property, state, value);
51 } 51 }
52 52
53 } // namespace blink 53 } // namespace blink
OLDNEW
« no previous file with comments | « Source/core/animation/CSSValueInterpolationType.h ('k') | Source/core/animation/ColorStyleInterpolation.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698