Index: third_party/WebKit/Source/core/css/resolver/ElementStyleResources.cpp |
diff --git a/third_party/WebKit/Source/core/css/resolver/ElementStyleResources.cpp b/third_party/WebKit/Source/core/css/resolver/ElementStyleResources.cpp |
index 60be1fbd5c5204191fa171bb6120d1ffa80db9e1..4b6ba321da54dcf7230009dabaeb9c6e77e76609 100644 |
--- a/third_party/WebKit/Source/core/css/resolver/ElementStyleResources.cpp |
+++ b/third_party/WebKit/Source/core/css/resolver/ElementStyleResources.cpp |
@@ -57,7 +57,7 @@ |
PassRefPtrWillBeRawPtr<StyleImage> ElementStyleResources::generatedOrPendingFromValue(CSSPropertyID property, CSSImageGeneratorValue* value) |
{ |
if (value->isPending()) { |
- m_pendingImageProperties.add(property); |
+ m_pendingImageProperties.set(property, value); |
return StylePendingImage::create(value); |
} |
return StyleGeneratedImage::create(value); |
@@ -65,30 +65,30 @@ |
PassRefPtrWillBeRawPtr<StyleImage> ElementStyleResources::setOrPendingFromValue(CSSPropertyID property, CSSImageSetValue* value) |
{ |
- if (value->isCachePending(m_deviceScaleFactor)) { |
- m_pendingImageProperties.add(property); |
- return StylePendingImage::create(value); |
- } |
- return value->cachedImageSet(m_deviceScaleFactor); |
+ RefPtrWillBeRawPtr<StyleImage> image = value->cachedOrPendingImageSet(m_deviceScaleFactor); |
+ if (image && image->isPendingImage()) |
+ m_pendingImageProperties.set(property, value); |
+ return image.release(); |
} |
PassRefPtrWillBeRawPtr<StyleImage> ElementStyleResources::cachedOrPendingFromValue(Document& document, CSSPropertyID property, CSSImageValue* value) |
{ |
- if (value->isCachePending()) { |
- m_pendingImageProperties.add(property); |
- return StylePendingImage::create(value); |
+ RefPtrWillBeRawPtr<StyleImage> image = value->cachedOrPendingImage(); |
+ if (image) { |
+ if (image->isPendingImage()) |
+ m_pendingImageProperties.set(property, value); |
+ else |
+ value->restoreCachedResourceIfNeeded(document); |
} |
- value->restoreCachedResourceIfNeeded(document); |
- return value->cachedImage(); |
+ return image.release(); |
} |
PassRefPtrWillBeRawPtr<StyleImage> ElementStyleResources::cursorOrPendingFromValue(CSSPropertyID property, CSSCursorImageValue* value) |
{ |
- if (value->isCachePending(m_deviceScaleFactor)) { |
- m_pendingImageProperties.add(property); |
- return StylePendingImage::create(value); |
- } |
- return value->cachedImage(m_deviceScaleFactor); |
+ RefPtrWillBeRawPtr<StyleImage> image = value->cachedOrPendingImage(m_deviceScaleFactor); |
+ if (image && image->isPendingImage()) |
+ m_pendingImageProperties.set(property, value); |
+ return image.release(); |
} |
void ElementStyleResources::clearPendingImageProperties() |