Index: Source/core/css/resolver/ElementStyleResources.cpp |
diff --git a/Source/core/css/resolver/ElementStyleResources.cpp b/Source/core/css/resolver/ElementStyleResources.cpp |
index 4b6ba321da54dcf7230009dabaeb9c6e77e76609..b6d68ad28b4e3bf103330cb9e24495656df5b21a 100644 |
--- a/Source/core/css/resolver/ElementStyleResources.cpp |
+++ b/Source/core/css/resolver/ElementStyleResources.cpp |
@@ -56,7 +56,7 @@ PassRefPtrWillBeRawPtr<StyleImage> ElementStyleResources::styleImage(Document& d |
PassRefPtrWillBeRawPtr<StyleImage> ElementStyleResources::generatedOrPendingFromValue(CSSPropertyID property, CSSImageGeneratorValue* value) |
{ |
- if (value->isPending()) { |
+ if (value->isPending(mutableCssImages())) { |
m_pendingImageProperties.set(property, value); |
return StylePendingImage::create(value); |
} |
@@ -73,19 +73,18 @@ PassRefPtrWillBeRawPtr<StyleImage> ElementStyleResources::setOrPendingFromValue( |
PassRefPtrWillBeRawPtr<StyleImage> ElementStyleResources::cachedOrPendingFromValue(Document& document, CSSPropertyID property, CSSImageValue* value) |
{ |
- RefPtrWillBeRawPtr<StyleImage> image = value->cachedOrPendingImage(); |
- if (image) { |
- if (image->isPendingImage()) |
- m_pendingImageProperties.set(property, value); |
- else |
- value->restoreCachedResourceIfNeeded(document); |
- } |
+ RefPtrWillBeRawPtr<StyleImage> image = value->cachedOrPendingImage(mutableCssImages()); |
+ ASSERT(image); |
+ if (image->isPendingImage()) |
+ m_pendingImageProperties.set(property, value); |
+ else |
+ value->restoreCachedResourceIfNeeded(document, mutableCssImages()); |
return image.release(); |
} |
PassRefPtrWillBeRawPtr<StyleImage> ElementStyleResources::cursorOrPendingFromValue(CSSPropertyID property, CSSCursorImageValue* value) |
{ |
- RefPtrWillBeRawPtr<StyleImage> image = value->cachedOrPendingImage(m_deviceScaleFactor); |
+ RefPtrWillBeRawPtr<StyleImage> image = value->cachedOrPendingImage(mutableCssImages(), m_deviceScaleFactor); |
if (image && image->isPendingImage()) |
m_pendingImageProperties.set(property, value); |
return image.release(); |
@@ -101,6 +100,13 @@ void ElementStyleResources::clearPendingSVGDocuments() |
m_pendingSVGDocuments.clear(); |
} |
+void ElementStyleResources::clearCSSImages() |
+{ |
+ printf("ElementStyleResources clearing\n"); |
+ m_cssImages.clear(); |
+ printf("ElementStyleResources cleared\n"); |
+} |
+ |
void ElementStyleResources::addPendingSVGDocument(FilterOperation* filterOperation, CSSSVGDocumentValue* cssSVGDocumentValue) |
{ |
m_pendingSVGDocuments.set(filterOperation, cssSVGDocumentValue); |