diff options
Diffstat (limited to 'WebCore/loader/cache/CachedImage.cpp')
-rw-r--r-- | WebCore/loader/cache/CachedImage.cpp | 7 |
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); |