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

Unified Diff: third_party/WebKit/Source/core/css/CSSCrossfadeValue.cpp

Issue 1667843003: Make Resource RefCountedWillBeGarbageCollectedFinalized, attempt #2 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase + address review comments Created 4 years, 10 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 side-by-side diff with in-line comments
Download patch
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 ec59447b35a06e6bc3ec2668e1e289c4be8e34bd..f85265358a5405f7a6885c2e1d332eba7dbabdf5 100644
--- a/third_party/WebKit/Source/core/css/CSSCrossfadeValue.cpp
+++ b/third_party/WebKit/Source/core/css/CSSCrossfadeValue.cpp
@@ -125,10 +125,14 @@ CSSCrossfadeValue::~CSSCrossfadeValue()
void CSSCrossfadeValue::dispose()
{
- if (m_cachedFromImage)
+ if (m_cachedFromImage) {
m_cachedFromImage->removeClient(&m_crossfadeSubimageObserver);
- if (m_cachedToImage)
+ m_cachedFromImage = nullptr;
+ }
+ if (m_cachedToImage) {
m_cachedToImage->removeClient(&m_crossfadeSubimageObserver);
+ m_cachedToImage = nullptr;
+ }
}
String CSSCrossfadeValue::customCSSText() const
@@ -190,8 +194,8 @@ bool CSSCrossfadeValue::knownToBeOpaque(const LayoutObject* layoutObject) const
void CSSCrossfadeValue::loadSubimages(Document* document)
{
- ResourcePtr<ImageResource> oldCachedFromImage = m_cachedFromImage;
- ResourcePtr<ImageResource> oldCachedToImage = m_cachedToImage;
+ RefPtrWillBeRawPtr<ImageResource> oldCachedFromImage = m_cachedFromImage;
+ RefPtrWillBeRawPtr<ImageResource> oldCachedToImage = m_cachedToImage;
m_cachedFromImage = cachedImageForCSSValue(m_fromValue.get(), document);
m_cachedToImage = cachedImageForCSSValue(m_toValue.get(), document);
@@ -273,6 +277,8 @@ DEFINE_TRACE_AFTER_DISPATCH(CSSCrossfadeValue)
visitor->trace(m_fromValue);
visitor->trace(m_toValue);
visitor->trace(m_percentageValue);
+ visitor->trace(m_cachedFromImage);
+ visitor->trace(m_cachedToImage);
visitor->trace(m_crossfadeSubimageObserver);
CSSImageGeneratorValue::traceAfterDispatch(visitor);
}
« no previous file with comments | « third_party/WebKit/Source/core/css/CSSCrossfadeValue.h ('k') | third_party/WebKit/Source/core/css/CSSFontFaceSrcValue.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698