Index: third_party/WebKit/Source/core/html/parser/CSSPreloadScanner.cpp |
diff --git a/third_party/WebKit/Source/core/html/parser/CSSPreloadScanner.cpp b/third_party/WebKit/Source/core/html/parser/CSSPreloadScanner.cpp |
index 19e8b68357cf27bd712ecd7bb63d734d2f68796a..1468d1184db505b830e4af45c737869b48909100 100644 |
--- a/third_party/WebKit/Source/core/html/parser/CSSPreloadScanner.cpp |
+++ b/third_party/WebKit/Source/core/html/parser/CSSPreloadScanner.cpp |
@@ -237,15 +237,15 @@ void CSSPreloadScanner::emitRule(const SegmentedString& source) |
} |
CSSPreloaderResourceClient::CSSPreloaderResourceClient(Resource* resource, HTMLResourcePreloader* preloader) |
- : m_resource(resource) |
- , m_preloader(preloader) |
+ : m_preloader(preloader) |
{ |
+ ASSERT(resource->getType() == Resource::CSSStyleSheet); |
+ setResource(static_cast<CSSStyleSheetResource*>(resource)); |
} |
void CSSPreloaderResourceClient::notifyFinished(Resource* resource) |
{ |
- resource->removeClient(this); |
- m_resource.clear(); |
+ clearResource(); |
} |
// Only attach for one appendData call, as that's where most imports will likely |
@@ -267,8 +267,13 @@ void CSSPreloaderResourceClient::didAppendFirstData(const CSSStyleSheetResource* |
DEFINE_STATIC_LOCAL(CustomCountHistogram, cssImportHistogram, ("PreloadScanner.ExternalCSS.PreloadCount", 1, 100, 50)); |
cssImportHistogram.count(m_preloader->countPreloads() - currentPreloadCount); |
} |
- m_resource->removeClient(this); |
- m_resource.clear(); |
+ clearResource(); |
+} |
+ |
+DEFINE_TRACE(CSSPreloaderResourceClient) |
+{ |
+ visitor->trace(m_preloader); |
+ ResourceOwner<StyleSheetResource>::trace(visitor); |
} |
} // namespace blink |