Index: third_party/WebKit/Source/core/css/CSSCrossfadeValue.cpp |
diff --git a/third_party/WebKit/Source/core/css/CSSCrossfadeValue.cpp b/third_party/WebKit/Source/core/css/CSSCrossfadeValue.cpp |
index 402e574fd740aa078e3ab25199cf87153cb56a6f..d9d4263a4ba97c8631f16d0dba6cebb98f6e5ea7 100644 |
--- a/third_party/WebKit/Source/core/css/CSSCrossfadeValue.cpp |
+++ b/third_party/WebKit/Source/core/css/CSSCrossfadeValue.cpp |
@@ -93,8 +93,29 @@ static Image* renderableImageForCSSValue(CSSValue* value, const LayoutObject* la |
return cachedImage->image(); |
} |
+CSSCrossfadeValue::CSSCrossfadeValue(PassRefPtrWillBeRawPtr<CSSValue> fromValue, PassRefPtrWillBeRawPtr<CSSValue> toValue, PassRefPtrWillBeRawPtr<CSSPrimitiveValue> percentageValue) |
+ : CSSImageGeneratorValue(CrossfadeClass) |
+ , m_fromValue(fromValue) |
+ , m_toValue(toValue) |
+ , m_percentageValue(percentageValue) |
+ , m_cachedFromImage(nullptr) |
+ , m_cachedToImage(nullptr) |
+ , m_crossfadeSubimageObserver(this) |
+{ |
+#if ENABLE(OILPAN) |
+ ThreadState::current()->registerPreFinalizer(this); |
+#endif |
+} |
+ |
CSSCrossfadeValue::~CSSCrossfadeValue() |
{ |
+#if !ENABLE(OILPAN) |
+ dispose(); |
+#endif |
+} |
+ |
+void CSSCrossfadeValue::dispose() |
+{ |
if (m_cachedFromImage) |
m_cachedFromImage->removeClient(&m_crossfadeSubimageObserver); |
if (m_cachedToImage) |