Title: [136953] trunk
Revision
136953
Author
[email protected]
Date
2012-12-07 07:02:31 -0800 (Fri, 07 Dec 2012)

Log Message

[TexMap] Can not do multiple accelerated animations
https://bugs.webkit.org/show_bug.cgi?id=104364

Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

By removing all animations with the same name, it is not possible to animate more than one property accelerated.
Instead only remove any animations with both same name and property.

Covered by animations/opacity-transform-animation.html.

* platform/graphics/GraphicsLayerAnimation.cpp:
(WebCore::GraphicsLayerAnimations::add):
(WebCore::GraphicsLayerAnimations::remove):
* platform/graphics/GraphicsLayerAnimation.h:
(GraphicsLayerAnimations):

LayoutTests:

Unskip test animating multiple accelerated properties.

* platform/qt/TestExpectations:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (136952 => 136953)


--- trunk/LayoutTests/ChangeLog	2012-12-07 14:52:12 UTC (rev 136952)
+++ trunk/LayoutTests/ChangeLog	2012-12-07 15:02:31 UTC (rev 136953)
@@ -1,3 +1,14 @@
+2012-12-07  Allan Sandfeld Jensen  <[email protected]>
+
+        [TexMap] Can not do multiple accelerated animations
+        https://bugs.webkit.org/show_bug.cgi?id=104364
+
+        Reviewed by Kenneth Rohde Christiansen.
+
+        Unskip test animating multiple accelerated properties.
+
+        * platform/qt/TestExpectations:
+
 2012-10-03   Pavel Feldman  <[email protected]>
 
         Web Inspector: provide a way to reload page with given script preprocessor.

Modified: trunk/LayoutTests/platform/qt/TestExpectations (136952 => 136953)


--- trunk/LayoutTests/platform/qt/TestExpectations	2012-12-07 14:52:12 UTC (rev 136952)
+++ trunk/LayoutTests/platform/qt/TestExpectations	2012-12-07 15:02:31 UTC (rev 136953)
@@ -2387,7 +2387,6 @@
 webkit.org/b/99306 animations/cross-fade-webkit-mask-box-image.html [ ImageOnlyFailure ]
 webkit.org/b/99306 animations/missing-values-first-keyframe.html [ ImageOnlyFailure ]
 webkit.org/b/99306 animations/missing-values-last-keyframe.html [ ImageOnlyFailure ]
-webkit.org/b/99306 animations/opacity-transform-animation.html [ ImageOnlyFailure ]
 webkit.org/b/99306 css3/filters/effect-blur-hw.html [ ImageOnlyFailure ] # Blur effect radius is too small on WebKit1, the effect not applied at all on WebKit2.
 
 # REGRESSION(r132143): It made fast/xmlhttprequest/xmlhttprequest-recursive-sync-event.html flakey

Modified: trunk/Source/WebCore/ChangeLog (136952 => 136953)


--- trunk/Source/WebCore/ChangeLog	2012-12-07 14:52:12 UTC (rev 136952)
+++ trunk/Source/WebCore/ChangeLog	2012-12-07 15:02:31 UTC (rev 136953)
@@ -1,3 +1,21 @@
+2012-12-07  Allan Sandfeld Jensen  <[email protected]>
+
+        [TexMap] Can not do multiple accelerated animations
+        https://bugs.webkit.org/show_bug.cgi?id=104364
+
+        Reviewed by Kenneth Rohde Christiansen.
+
+        By removing all animations with the same name, it is not possible to animate more than one property accelerated. 
+        Instead only remove any animations with both same name and property.
+
+        Covered by animations/opacity-transform-animation.html.
+
+        * platform/graphics/GraphicsLayerAnimation.cpp:
+        (WebCore::GraphicsLayerAnimations::add):
+        (WebCore::GraphicsLayerAnimations::remove):
+        * platform/graphics/GraphicsLayerAnimation.h:
+        (GraphicsLayerAnimations):
+
 2012-12-07  Sujin Park  <[email protected]>
 
         [EFL] Fix build warning in StyleResolver.cpp using gcc 4.7.2

Modified: trunk/Source/WebCore/platform/graphics/GraphicsLayerAnimation.cpp (136952 => 136953)


--- trunk/Source/WebCore/platform/graphics/GraphicsLayerAnimation.cpp	2012-12-07 14:52:12 UTC (rev 136952)
+++ trunk/Source/WebCore/platform/graphics/GraphicsLayerAnimation.cpp	2012-12-07 15:02:31 UTC (rev 136953)
@@ -344,7 +344,7 @@
 void GraphicsLayerAnimations::add(const GraphicsLayerAnimation& animation)
 {
     // Remove the old state if we are resuming a paused animation.
-    remove(animation.name());
+    remove(animation.name(), animation.property());
 
     m_animations.append(animation);
 }
@@ -377,6 +377,14 @@
     }
 }
 
+void GraphicsLayerAnimations::remove(const String& name, AnimatedPropertyID property)
+{
+    for (int i = m_animations.size() - 1; i >= 0; --i) {
+        if (m_animations[i].name() == name && m_animations[i].property() == property)
+            m_animations.remove(i);
+    }
+}
+
 void GraphicsLayerAnimations::apply(GraphicsLayerAnimation::Client* client)
 {
     for (size_t i = 0; i < m_animations.size(); ++i)

Modified: trunk/Source/WebCore/platform/graphics/GraphicsLayerAnimation.h (136952 => 136953)


--- trunk/Source/WebCore/platform/graphics/GraphicsLayerAnimation.h	2012-12-07 14:52:12 UTC (rev 136952)
+++ trunk/Source/WebCore/platform/graphics/GraphicsLayerAnimation.h	2012-12-07 15:02:31 UTC (rev 136953)
@@ -85,6 +85,7 @@
 
     void add(const GraphicsLayerAnimation&);
     void remove(const String& name);
+    void remove(const String& name, AnimatedPropertyID);
     void pause(const String&, double);
     void suspend(double);
     void resume();
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to