[BlackBerry] Animated images not animating on accelerated compositing layers
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 26 Feb 2013 20:13:36 +0000 (20:13 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 26 Feb 2013 20:13:36 +0000 (20:13 +0000)
https://bugs.webkit.org/show_bug.cgi?id=110886

Patch by Andrew Lo <anlo@rim.com> on 2013-02-26
Reviewed by Rob Buis.

Internally reviewed by Arvid Nilsson.
Internal PR 299598.

Animated images on AC layers call GraphicsLayer::setContentsToImage
on each frame with the same Image.

We need to set needs display in that case so that the frames are
displayed.

No new tests are needed since there is no new functionality.

* platform/graphics/blackberry/LayerWebKitThread.cpp:
(WebCore::LayerWebKitThread::setContents):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144085 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/platform/graphics/blackberry/LayerWebKitThread.cpp

index 5475fb9..6e57728 100644 (file)
@@ -1,3 +1,24 @@
+2013-02-26  Andrew Lo  <anlo@rim.com>
+
+        [BlackBerry] Animated images not animating on accelerated compositing layers
+        https://bugs.webkit.org/show_bug.cgi?id=110886
+
+        Reviewed by Rob Buis.
+
+        Internally reviewed by Arvid Nilsson.
+        Internal PR 299598.
+
+        Animated images on AC layers call GraphicsLayer::setContentsToImage
+        on each frame with the same Image.
+
+        We need to set needs display in that case so that the frames are
+        displayed.
+
+        No new tests are needed since there is no new functionality.
+
+        * platform/graphics/blackberry/LayerWebKitThread.cpp:
+        (WebCore::LayerWebKitThread::setContents):
+
 2013-02-26  Sheriff Bot  <webkit.review.bot@gmail.com>
 
         Unreviewed, rolling out r144065.
index 5c03753..428b00a 100644 (file)
@@ -171,8 +171,12 @@ void LayerWebKitThread::commitPendingTextureUploads()
 void LayerWebKitThread::setContents(Image* contents)
 {
     // Check if the image has changed.
-    if (m_contents == contents)
+    if (m_contents == contents) {
+        // Set needs display for animated images.
+        if (contents)
+            setNeedsDisplay();
         return;
+    }
     m_contents = contents;
     setNeedsTexture(m_isDrawable && (this->contents() || drawsContent() || pluginView()));