diff -r 7c90e6132015 -r 10e98eab6f85 webengine/osswebengine/WebCore/loader/CachedImage.cpp --- a/webengine/osswebengine/WebCore/loader/CachedImage.cpp Fri May 08 08:25:06 2009 +0300 +++ b/webengine/osswebengine/WebCore/loader/CachedImage.cpp Fri Jul 03 15:54:40 2009 +0100 @@ -48,20 +48,15 @@ namespace WebCore { -CachedImage::CachedImage(DocLoader* docLoader, const String& url, bool forCache) - : CachedResource(url, ImageResource, forCache) +CachedImage::CachedImage(const String& url) + : CachedResource(url, ImageResource) { m_image = 0; m_status = Unknown; - if (!docLoader || docLoader->autoLoadImages()) { - m_loading = true; - cache()->loader()->load(docLoader, this, true); - } else - m_loading = false; } CachedImage::CachedImage(Image* image) - : CachedResource(String(), ImageResource, false /* not for cache */) + : CachedResource(String(), ImageResource) { m_image = image; m_status = Cached; @@ -73,6 +68,14 @@ delete m_image; } +void CachedImage::load(DocLoader* docLoader) +{ + if (!docLoader || docLoader->autoLoadImages()) + CachedResource::load(docLoader, true, false, true); + else + m_loading = false; +} + void CachedImage::ref(CachedResourceClient* c) { CachedResource::ref(c); @@ -92,10 +95,12 @@ static Image* brokenImage() { - static Image* brokenImage; - if (!brokenImage) - brokenImage = Image::loadPlatformResource("missingImage"); - return brokenImage; + static OwnPtr brokenImage; + if (!brokenImage) { + brokenImage.set(Image::loadPlatformResource("missingImage")); + } + Image* ret = brokenImage.get(); + return ret; } static Image* nullImage() @@ -297,6 +302,7 @@ { setDecodedSize(size_); notifyObservers(); + checkNotify(); } void CachedImage::setMimeType(const String& mime_)