| Index: Source/core/loader/ImageLoader.cpp
|
| diff --git a/Source/core/loader/ImageLoader.cpp b/Source/core/loader/ImageLoader.cpp
|
| index 9fbabee79622c331ba92247f7abdc00eb8968b9a..73fa90a5042561d00acf68b6469811382e4ad928 100644
|
| --- a/Source/core/loader/ImageLoader.cpp
|
| +++ b/Source/core/loader/ImageLoader.cpp
|
| @@ -115,6 +115,7 @@ void ImageLoader::setImageWithoutConsideringPendingLoadEvent(CachedImage* newIma
|
| ASSERT(m_failedLoadURL.isEmpty());
|
| CachedImage* oldImage = m_image.get();
|
| if (newImage != oldImage) {
|
| + sourceImageChanged();
|
| m_image = newImage;
|
| if (m_hasPendingBeforeLoadEvent) {
|
| beforeLoadEventSender().cancelEvent(this);
|
| @@ -190,9 +191,11 @@ void ImageLoader::updateFromElement()
|
| m_hasPendingErrorEvent = true;
|
| errorEventSender().dispatchEventSoon(this);
|
| }
|
| -
|
| +
|
| CachedImage* oldImage = m_image.get();
|
| if (newImage != oldImage) {
|
| + sourceImageChanged();
|
| +
|
| if (m_hasPendingBeforeLoadEvent) {
|
| beforeLoadEventSender().cancelEvent(this);
|
| m_hasPendingBeforeLoadEvent = false;
|
| @@ -444,6 +447,15 @@ void ImageLoader::elementDidMoveToNewDocument()
|
| setImage(0);
|
| }
|
|
|
| +void ImageLoader::sourceImageChanged()
|
| +{
|
| + HashSet<ImageLoaderClient*>::iterator end = m_clients.end();
|
| + for (HashSet<ImageLoaderClient*>::iterator it = m_clients.begin(); it != end; ++it) {
|
| + ImageLoaderClient* handle = *it;
|
| + handle->notifyImageSourceChanged();
|
| + }
|
| +}
|
| +
|
| inline void ImageLoader::clearFailedLoadURL()
|
| {
|
| m_failedLoadURL = AtomicString();
|
|
|