diff options
author | Feng Qian <fqian@google.com> | 2009-06-18 18:20:56 -0700 |
---|---|---|
committer | Feng Qian <fqian@google.com> | 2009-06-18 18:20:56 -0700 |
commit | 1edef79f87f9c52c21d69c87c19f8e2b140a9119 (patch) | |
tree | cad337ef493b0d9710bf3ae478cb87cb534f598d /WebCore/html/HTMLImageLoader.cpp | |
parent | b83fc086000e27bc227580bd0e35b9d7bee1179a (diff) | |
parent | c9c4d65c1547996ed3748026904d6e7f09aec2b4 (diff) | |
download | external_webkit-1edef79f87f9c52c21d69c87c19f8e2b140a9119.zip external_webkit-1edef79f87f9c52c21d69c87c19f8e2b140a9119.tar.gz external_webkit-1edef79f87f9c52c21d69c87c19f8e2b140a9119.tar.bz2 |
Merge commit 'goog/master-webkit-merge' into webkit-merge-44544
Diffstat (limited to 'WebCore/html/HTMLImageLoader.cpp')
-rw-r--r-- | WebCore/html/HTMLImageLoader.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/WebCore/html/HTMLImageLoader.cpp b/WebCore/html/HTMLImageLoader.cpp index 5dac8bf..ea53d7e 100644 --- a/WebCore/html/HTMLImageLoader.cpp +++ b/WebCore/html/HTMLImageLoader.cpp @@ -42,7 +42,10 @@ HTMLImageLoader::~HTMLImageLoader() void HTMLImageLoader::dispatchLoadEvent() { - element()->dispatchEventForType(image()->errorOccurred() ? eventNames().errorEvent : eventNames().loadEvent, false, false); + bool errorOccurred = image()->errorOccurred(); + if (!errorOccurred && image()->httpStatusCodeErrorOccurred()) + errorOccurred = element()->hasTagName(HTMLNames::objectTag); // An <object> considers a 404 to be an error and should fire onerror. + element()->dispatchEvent(errorOccurred ? eventNames().errorEvent : eventNames().loadEvent, false, false); } String HTMLImageLoader::sourceURI(const AtomicString& attr) const @@ -50,12 +53,14 @@ String HTMLImageLoader::sourceURI(const AtomicString& attr) const return parseURL(attr); } -void HTMLImageLoader::notifyFinished(CachedResource* image) -{ +void HTMLImageLoader::notifyFinished(CachedResource*) +{ + CachedImage* cachedImage = image(); + Element* elem = element(); - ImageLoader::notifyFinished(image); + ImageLoader::notifyFinished(cachedImage); - if (image->errorOccurred() && elem->hasTagName(HTMLNames::objectTag)) + if ((cachedImage->errorOccurred() || cachedImage->httpStatusCodeErrorOccurred()) && elem->hasTagName(HTMLNames::objectTag)) static_cast<HTMLObjectElement*>(elem)->renderFallbackContent(); } |