--- 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<Image*> 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_)