summaryrefslogtreecommitdiff
path: root/Source/WebCore/css/CSSImageValue.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/css/CSSImageValue.cpp')
-rw-r--r--Source/WebCore/css/CSSImageValue.cpp22
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