summaryrefslogtreecommitdiffstats
path: root/WebCore/loader/cache/CachedImage.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/loader/cache/CachedImage.cpp')
-rw-r--r--WebCore/loader/cache/CachedImage.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/WebCore/loader/cache/CachedImage.cpp b/WebCore/loader/cache/CachedImage.cpp
index ce1c9a3..c610b0b 100644
--- a/WebCore/loader/cache/CachedImage.cpp
+++ b/WebCore/loader/cache/CachedImage.cpp
@@ -290,7 +290,7 @@ void CachedImage::data(PassRefPtr<SharedBuffer> data, bool allDataReceived)
IntSize s = imageSize(1.0f);
size_t estimatedDecodedImageSize = s.width() * s.height() * 4; // no overflow check
if (m_image->isNull() || (maxDecodedImageSize > 0 && estimatedDecodedImageSize > maxDecodedImageSize)) {
- error();
+ error(errorOccurred() ? status() : DecodeError);
if (inCache())
cache()->remove(this);
return;
@@ -310,10 +310,11 @@ void CachedImage::data(PassRefPtr<SharedBuffer> data, bool allDataReceived)
}
}
-void CachedImage::error()
+void CachedImage::error(CachedResource::Status status)
{
clear();
- setErrorOccurred(true);
+ setStatus(status);
+ ASSERT(errorOccurred() || httpStatusCodeErrorOccurred());
m_data.clear();
notifyObservers();
setLoading(false);