diff options
Diffstat (limited to 'Source/WebCore/css/CSSImageValue.cpp')
-rw-r--r-- | Source/WebCore/css/CSSImageValue.cpp | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/Source/WebCore/css/CSSImageValue.cpp b/Source/WebCore/css/CSSImageValue.cpp index 61964630c..542192d5d 100644 --- a/Source/WebCore/css/CSSImageValue.cpp +++ b/Source/WebCore/css/CSSImageValue.cpp @@ -24,10 +24,11 @@ #include "CSSCursorImageValue.h" #include "CSSParser.h" #include "CSSValueKeywords.h" -#include "Document.h" -#include "MemoryCache.h" #include "CachedImage.h" #include "CachedResourceLoader.h" +#include "Document.h" +#include "MemoryCache.h" +#include "MemoryInstrumentation.h" #include "StyleCachedImage.h" #include "StylePendingImage.h" @@ -102,6 +103,16 @@ void CSSImageValue::clearCachedImage() m_accessedImage = false; } +bool CSSImageValue::hasFailedOrCanceledSubresources() const +{ + if (!m_image || !m_image->isCachedImage()) + return false; + CachedResource* cachedResource = static_cast<StyleCachedImage*>(m_image.get())->cachedImage(); + if (!cachedResource) + return true; + return cachedResource->loadFailedOrCanceled(); +} + String CSSImageValue::customCssText() const { return "url(" + quoteCSSURLIfNeeded(m_url) + ")"; @@ -115,4 +126,11 @@ PassRefPtr<CSSValue> CSSImageValue::cloneForCSSOM() const return uriValue.release(); } +void CSSImageValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const +{ + MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS); + info.addMember(m_url); + // No need to report m_image as it is counted as part of RenderArena. +} + } // namespace WebCore |