Index: Source/core/fetch/ImageResource.cpp |
diff --git a/Source/core/fetch/ImageResource.cpp b/Source/core/fetch/ImageResource.cpp |
index 61ba6527e741ecb0fb573845da6e9cbcc070d6bc..084746f1826ea2ef5981a2aa52078c4a47c36dfa 100644 |
--- a/Source/core/fetch/ImageResource.cpp |
+++ b/Source/core/fetch/ImageResource.cpp |
@@ -103,6 +103,8 @@ void ImageResource::didAddClient(ResourceClient* c) |
if (m_image && !m_image->isNull()) |
static_cast<ImageResourceClient*>(c)->imageChanged(this); |
+ if (m_image && m_image->animationPolicy() == ImageAnimationPolicyInvalid) |
+ updateImageAnimationPolicy(); |
Resource::didAddClient(c); |
} |
@@ -433,7 +435,7 @@ void ImageResource::updateImageAnimationPolicy() |
if (!m_image) |
return; |
- ImageAnimationPolicy newPolicy = ImageAnimationPolicyAllowed; |
+ ImageAnimationPolicy newPolicy = ImageAnimationPolicyInvalid; |
ResourceClientWalker<ImageResourceClient> w(m_clients); |
while (ImageResourceClient* c = w.next()) { |
if (c->getImageAnimationPolicy(this, newPolicy)) |