[chromium] Clean up WebAnimation animationId/groupId generation
authorjamesr@google.com <jamesr@google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 24 Aug 2012 23:25:04 +0000 (23:25 +0000)
committerjamesr@google.com <jamesr@google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 24 Aug 2012 23:25:04 +0000 (23:25 +0000)
https://bugs.webkit.org/show_bug.cgi?id=94973

Reviewed by Adrienne Walker.

Source/Platform:

This removes the unused groupId from the public interface and makes the implicit animation id generation a bit
clearer.

* chromium/public/WebAnimation.h:
(WebAnimation):

Source/WebCore:

This gets rid of AnimationIdVendor and simplifies GraphicsLayerChromium's name<->id mapping. We only have to
track the IDs of animations that we have started and can let WebAnimation generate new IDs if we haven't seen
the name before.

* WebCore.gypi:
* platform/graphics/chromium/AnimationIdVendor.cpp: Removed.
* platform/graphics/chromium/AnimationIdVendor.h: Removed.
* platform/graphics/chromium/AnimationTranslationUtil.cpp:
(WebCore::createWebAnimation):
* platform/graphics/chromium/AnimationTranslationUtil.h:
(WebCore):
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::addAnimation):
(WebCore::GraphicsLayerChromium::pauseAnimation):
(WebCore::GraphicsLayerChromium::removeAnimation):
* platform/graphics/chromium/GraphicsLayerChromium.h:

Source/WebKit/chromium:

* src/WebAnimationImpl.cpp:
(WebKit::WebAnimation::create):
(WebKit::WebAnimationImpl::WebAnimationImpl):
(WebKit::WebAnimationImpl::id):
(WebKit):
* src/WebAnimationImpl.h:
(WebAnimationImpl):
* tests/AnimationTranslationUtilTest.cpp:
(WebKit::animationCanBeTranslated):
* tests/GraphicsLayerChromiumTest.cpp:
(WebKit::TEST_F):

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

15 files changed:
Source/Platform/ChangeLog
Source/Platform/chromium/public/WebAnimation.h
Source/WebCore/ChangeLog
Source/WebCore/WebCore.gypi
Source/WebCore/platform/graphics/chromium/AnimationIdVendor.cpp [deleted file]
Source/WebCore/platform/graphics/chromium/AnimationIdVendor.h [deleted file]
Source/WebCore/platform/graphics/chromium/AnimationTranslationUtil.cpp
Source/WebCore/platform/graphics/chromium/AnimationTranslationUtil.h
Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.cpp
Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.h
Source/WebKit/chromium/ChangeLog
Source/WebKit/chromium/src/WebAnimationImpl.cpp
Source/WebKit/chromium/src/WebAnimationImpl.h
Source/WebKit/chromium/tests/AnimationTranslationUtilTest.cpp
Source/WebKit/chromium/tests/GraphicsLayerChromiumTest.cpp

index 78d33a7..5086299 100644 (file)
@@ -1,3 +1,16 @@
+2012-08-24  James Robinson  <jamesr@chromium.org>
+
+        [chromium] Clean up WebAnimation animationId/groupId generation
+        https://bugs.webkit.org/show_bug.cgi?id=94973
+
+        Reviewed by Adrienne Walker.
+
+        This removes the unused groupId from the public interface and makes the implicit animation id generation a bit
+        clearer.
+
+        * chromium/public/WebAnimation.h:
+        (WebAnimation):
+
 2012-08-24  Tommy Widenflycht  <tommyw@google.com>
 
         MediaStream API: Add readyState functionality to RTCPeerConnection
index 621330c..fb3b247 100644 (file)
@@ -50,15 +50,15 @@ public:
     };
 
     // The caller takes ownership of the returned value.
-    WEBKIT_EXPORT static WebAnimation* create(const WebAnimationCurve&, TargetProperty);
-
-    // An animationId is effectively the animation's name, and it is not unique.
-    // Animations with the same groupId are run at the same time. An animation
-    // may be uniquely identified by a combination of groupId and target property.
-    WEBKIT_EXPORT static WebAnimation* create(const WebAnimationCurve&, int animationId, int groupId, TargetProperty);
+    // Pass a non-zero value for animationId specify an id to use for this animation, otherwise one will
+    // be generated for you.
+    WEBKIT_EXPORT static WebAnimation* create(const WebAnimationCurve&, TargetProperty, int animationId = 0);
 
     virtual ~WebAnimation() { }
 
+    // An id is effectively the animation's name, and it is not unique.
+    virtual int id() = 0;
+
     virtual TargetProperty targetProperty() const = 0;
 
     // This is the number of times that the animation will play. If this
index 7956a0c..6b98383 100644 (file)
@@ -1,3 +1,27 @@
+2012-08-24  James Robinson  <jamesr@chromium.org>
+
+        [chromium] Clean up WebAnimation animationId/groupId generation
+        https://bugs.webkit.org/show_bug.cgi?id=94973
+
+        Reviewed by Adrienne Walker.
+
+        This gets rid of AnimationIdVendor and simplifies GraphicsLayerChromium's name<->id mapping. We only have to
+        track the IDs of animations that we have started and can let WebAnimation generate new IDs if we haven't seen
+        the name before.
+
+        * WebCore.gypi:
+        * platform/graphics/chromium/AnimationIdVendor.cpp: Removed.
+        * platform/graphics/chromium/AnimationIdVendor.h: Removed.
+        * platform/graphics/chromium/AnimationTranslationUtil.cpp:
+        (WebCore::createWebAnimation):
+        * platform/graphics/chromium/AnimationTranslationUtil.h:
+        (WebCore):
+        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
+        (WebCore::GraphicsLayerChromium::addAnimation):
+        (WebCore::GraphicsLayerChromium::pauseAnimation):
+        (WebCore::GraphicsLayerChromium::removeAnimation):
+        * platform/graphics/chromium/GraphicsLayerChromium.h:
+
 2012-08-24  Benjamin Poulain  <bpoulain@apple.com>
 
         Populate DatabaseTracker's origins lazily on demand
index f28b124..022aa81 100644 (file)
             'platform/graphics/cg/PathCG.cpp',
             'platform/graphics/cg/PatternCG.cpp',
             'platform/graphics/cg/TransformationMatrixCG.cpp',
-            'platform/graphics/chromium/AnimationIdVendor.cpp',
-            'platform/graphics/chromium/AnimationIdVendor.h',
             'platform/graphics/chromium/AnimationTranslationUtil.cpp',
             'platform/graphics/chromium/AnimationTranslationUtil.h',
             'platform/graphics/chromium/Canvas2DLayerBridge.cpp',
diff --git a/Source/WebCore/platform/graphics/chromium/AnimationIdVendor.cpp b/Source/WebCore/platform/graphics/chromium/AnimationIdVendor.cpp
deleted file mode 100644 (file)
index 41aecea..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-* Copyright (C) 2012 Google Inc. All rights reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1.  Redistributions of source code must retain the above copyright
-*     notice, this list of conditions and the following disclaimer.
-* 2.  Redistributions in binary form must reproduce the above copyright
-*     notice, this list of conditions and the following disclaimer in the
-*     documentation and/or other materials provided with the distribution.
-*  
-* THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#include "config.h"
-
-#include "AnimationIdVendor.h"
-
-namespace WebCore {
-
-int AnimationIdVendor::s_nextAnimationId = FirstAvailableAnimationId;
-int AnimationIdVendor::s_nextGroupId = FirstAvailableGroupId;
-
-int AnimationIdVendor::getNextAnimationId()
-{
-    int id = s_nextAnimationId++;
-    if (s_nextAnimationId == DontUseAnimationId)
-        s_nextAnimationId = FirstAvailableAnimationId;
-
-    return id;
-}
-
-int AnimationIdVendor::getNextGroupId()
-{
-    int id = s_nextGroupId++;
-    if (s_nextGroupId == DontUseGroupId)
-        s_nextGroupId = FirstAvailableGroupId;
-
-    return id;
-}
-
-} // namespace WebCore
diff --git a/Source/WebCore/platform/graphics/chromium/AnimationIdVendor.h b/Source/WebCore/platform/graphics/chromium/AnimationIdVendor.h
deleted file mode 100644 (file)
index 69a4353..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-  2  * Copyright (C) 2012 Google Inc. All rights reserved.
-  3  *
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1.  Redistributions of source code must retain the above copyright
-*     notice, this list of conditions and the following disclaimer.
-* 2.  Redistributions in binary form must reproduce the above copyright
-*     notice, this list of conditions and the following disclaimer in the
-*     documentation and/or other materials provided with the distribution.
-*  
-* THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#ifndef AnimationIdVendor_h
-#define AnimationIdVendor_h
-
-namespace WebCore {
-
-class AnimationIdVendor {
-public:
-    enum AnimationIdSequence { DontUseAnimationId = 0, LinkHighlightAnimationId, FirstAvailableAnimationId };
-    enum GroupIdSequence { DontUseGroupId = 0, FirstAvailableGroupId };
-
-    static int getNextAnimationId();
-    static int getNextGroupId();
-
-private:
-    static int s_nextAnimationId;
-    static int s_nextGroupId;
-};
-
-} // namespace WebCore
-
-#endif
index 8064ae3..5b4f997 100644 (file)
@@ -213,7 +213,7 @@ bool appendKeyframeWithCustomBezierTimingFunction<TransformAnimationValue, WebTr
 }
 
 template <class Value, class Keyframe, class Curve>
-PassOwnPtr<WebKit::WebAnimation> createWebAnimation(const KeyframeValueList& valueList, const Animation* animation, size_t animationId, size_t groupId, double timeOffset, WebKit::WebAnimation::TargetProperty targetProperty, const FloatSize& boxSize)
+PassOwnPtr<WebKit::WebAnimation> createWebAnimation(const KeyframeValueList& valueList, const Animation* animation, int animationId, double timeOffset, WebKit::WebAnimation::TargetProperty targetProperty, const FloatSize& boxSize)
 {
     bool alternate = false;
     bool reverse = false;
@@ -284,7 +284,7 @@ PassOwnPtr<WebKit::WebAnimation> createWebAnimation(const KeyframeValueList& val
             return nullptr;
     }
 
-    OwnPtr<WebKit::WebAnimation> anim(adoptPtr(WebKit::WebAnimation::create(*curve, animationId, groupId, targetProperty)));
+    OwnPtr<WebKit::WebAnimation> anim(adoptPtr(WebKit::WebAnimation::create(*curve, targetProperty, animationId)));
 
     int iterations = (animation && animation->isIterationCountSet()) ? animation->iterationCount() : 1;
     anim->setIterations(iterations);
@@ -296,13 +296,13 @@ PassOwnPtr<WebKit::WebAnimation> createWebAnimation(const KeyframeValueList& val
     return anim.release();
 }
 
-PassOwnPtr<WebKit::WebAnimation> createWebAnimation(const KeyframeValueList& values, const Animation* animation, size_t animationId, size_t groupId, double timeOffset, const FloatSize& boxSize)
+PassOwnPtr<WebKit::WebAnimation> createWebAnimation(const KeyframeValueList& values, const Animation* animation, int animationId, double timeOffset, const FloatSize& boxSize)
 {
     if (values.property() == AnimatedPropertyWebkitTransform)
-        return createWebAnimation<TransformAnimationValue, WebTransformKeyframe, WebTransformAnimationCurve>(values, animation, animationId, groupId, timeOffset, WebKit::WebAnimation::TargetPropertyTransform, FloatSize(boxSize));
+        return createWebAnimation<TransformAnimationValue, WebTransformKeyframe, WebTransformAnimationCurve>(values, animation, animationId, timeOffset, WebKit::WebAnimation::TargetPropertyTransform, FloatSize(boxSize));
 
     if (values.property() == AnimatedPropertyOpacity)
-        return createWebAnimation<FloatAnimationValue, WebFloatKeyframe, WebFloatAnimationCurve>(values, animation, animationId, groupId, timeOffset, WebKit::WebAnimation::TargetPropertyOpacity, FloatSize());
+        return createWebAnimation<FloatAnimationValue, WebFloatKeyframe, WebFloatAnimationCurve>(values, animation, animationId, timeOffset, WebKit::WebAnimation::TargetPropertyOpacity, FloatSize());
 
     return nullptr;
 }
index 5d88a2e..8739ab7 100644 (file)
@@ -49,7 +49,7 @@ class FloatSize;
 //   - a steps timing function is used,
 //   - a property other than AnimatedPropertyWebkitTransform, or AnimatedPropertyOpacity is animated, or
 //   - a transform animation involves a non-invertable transform.
-PassOwnPtr<WebKit::WebAnimation> createWebAnimation(const KeyframeValueList&, const Animation*, size_t animationId, size_t groupId, double timeOffset, const FloatSize& boxSize);
+PassOwnPtr<WebKit::WebAnimation> createWebAnimation(const KeyframeValueList&, const Animation*, int animationId, double timeOffset, const FloatSize& boxSize);
 
 } // namespace WebCore
 
index cf4435b..765e450 100644 (file)
@@ -45,7 +45,6 @@
 
 #include "GraphicsLayerChromium.h"
 
-#include "AnimationIdVendor.h"
 #include "AnimationTranslationUtil.h"
 #include "ContentLayerChromium.h"
 #include "FloatConversion.h"
@@ -528,12 +527,17 @@ bool GraphicsLayerChromium::addAnimation(const KeyframeValueList& values, const
 {
     platformLayer()->setAnimationDelegate(this);
 
-    int animationId = mapAnimationNameToId(animationName);
-    int groupId = AnimationIdVendor::getNextGroupId();
+    int animationId = 0;
 
-    OwnPtr<WebKit::WebAnimation> toAdd(createWebAnimation(values, animation, animationId, groupId, timeOffset, boxSize));
+    if (m_animationIdMap.contains(animationName))
+        animationId = m_animationIdMap.get(animationName);
+
+    OwnPtr<WebKit::WebAnimation> toAdd(createWebAnimation(values, animation, animationId, timeOffset, boxSize));
 
     if (toAdd) {
+        animationId = toAdd->id();
+        m_animationIdMap.set(animationName, animationId);
+
         // Remove any existing animations with the same animation id and target property.
         platformLayer()->removeAnimation(animationId, toAdd->targetProperty());
         return platformLayer()->addAnimation(toAdd.get());
@@ -544,12 +548,14 @@ bool GraphicsLayerChromium::addAnimation(const KeyframeValueList& values, const
 
 void GraphicsLayerChromium::pauseAnimation(const String& animationName, double timeOffset)
 {
-    platformLayer()->pauseAnimation(mapAnimationNameToId(animationName), timeOffset);
+    if (m_animationIdMap.contains(animationName))
+        platformLayer()->pauseAnimation(m_animationIdMap.get(animationName), timeOffset);
 }
 
 void GraphicsLayerChromium::removeAnimation(const String& animationName)
 {
-    platformLayer()->removeAnimation(mapAnimationNameToId(animationName));
+    if (m_animationIdMap.contains(animationName))
+        platformLayer()->removeAnimation(m_animationIdMap.get(animationName));
 }
 
 void GraphicsLayerChromium::suspendAnimations(double wallClockTime)
@@ -832,17 +838,6 @@ void GraphicsLayerChromium::paint(GraphicsContext& context, const IntRect& clip)
     paintGraphicsLayerContents(context, clip);
 }
 
-int GraphicsLayerChromium::mapAnimationNameToId(const String& animationName)
-{
-    if (animationName.isEmpty())
-        return 0;
-
-    if (!m_animationIdMap.contains(animationName))
-        m_animationIdMap.add(animationName, AnimationIdVendor::getNextAnimationId());
-
-    return m_animationIdMap.find(animationName)->second;
-}
-
 void GraphicsLayerChromium::notifyAnimationStarted(double startTime)
 {
     if (m_client)
index 4fc8d1c..0595fad 100644 (file)
@@ -172,8 +172,6 @@ private:
     void setContentsTo(ContentsLayerPurpose, WebKit::WebLayer*);
     void setupContentsLayer(WebKit::WebLayer*);
 
-    int mapAnimationNameToId(const String& animationName);
-
     String m_nameBase;
 
     OwnPtr<WebKit::WebContentLayer> m_layer;
index 36e515e..8617add 100644 (file)
@@ -1,3 +1,22 @@
+2012-08-24  James Robinson  <jamesr@chromium.org>
+
+        [chromium] Clean up WebAnimation animationId/groupId generation
+        https://bugs.webkit.org/show_bug.cgi?id=94973
+
+        Reviewed by Adrienne Walker.
+
+        * src/WebAnimationImpl.cpp:
+        (WebKit::WebAnimation::create):
+        (WebKit::WebAnimationImpl::WebAnimationImpl):
+        (WebKit::WebAnimationImpl::id):
+        (WebKit):
+        * src/WebAnimationImpl.h:
+        (WebAnimationImpl):
+        * tests/AnimationTranslationUtilTest.cpp:
+        (WebKit::animationCanBeTranslated):
+        * tests/GraphicsLayerChromiumTest.cpp:
+        (WebKit::TEST_F):
+
 2012-08-24  Mark Pilgrim  <pilgrim@chromium.org>
 
         [Chromium] Remove visitedLinkHash from PlatformSupport
index e5d9ef2..110da74 100644 (file)
@@ -26,7 +26,6 @@
 
 #include "WebAnimationImpl.h"
 
-#include "AnimationIdVendor.h"
 #include "CCActiveAnimation.h"
 #include "CCAnimationCurve.h"
 #include "WebFloatAnimationCurveImpl.h"
 #include <wtf/OwnPtr.h>
 #include <wtf/PassOwnPtr.h>
 
-using WebCore::AnimationIdVendor;
 using WebCore::CCActiveAnimation;
 
 namespace WebKit {
 
-WebAnimation* WebAnimation::create(const WebAnimationCurve& curve, TargetProperty targetProperty)
+WebAnimation* WebAnimation::create(const WebAnimationCurve& curve, TargetProperty targetProperty, int animationId)
 {
-    return WebAnimation::create(curve, AnimationIdVendor::getNextAnimationId(), AnimationIdVendor::getNextGroupId(), targetProperty);
+    static int nextGroupId = 1;
+    static int nextAnimationId = 1;
+    return new WebAnimationImpl(curve, targetProperty, animationId ? animationId : nextAnimationId++, nextGroupId++);
 }
 
-WebAnimation* WebAnimation::create(const WebAnimationCurve& curve, int animationId, int groupId, TargetProperty targetProperty)
-{
-    return new WebAnimationImpl(curve, animationId, groupId, targetProperty);
-}
-
-WebAnimationImpl::WebAnimationImpl(const WebAnimationCurve& webCurve, int animationId, int groupId, TargetProperty targetProperty)
+WebAnimationImpl::WebAnimationImpl(const WebAnimationCurve& webCurve, TargetProperty targetProperty, int animationId, int groupId)
 {
     WebAnimationCurve::AnimationCurveType curveType = webCurve.type();
     OwnPtr<WebCore::CCAnimationCurve> curve;
@@ -74,6 +69,11 @@ WebAnimationImpl::~WebAnimationImpl()
 {
 }
 
+int WebAnimationImpl::id()
+{
+    return m_animation->id();
+}
+
 WebAnimation::TargetProperty WebAnimationImpl::targetProperty() const
 {
     return static_cast<WebAnimationImpl::TargetProperty>(m_animation->targetProperty());
index d7ceba5..6ca10ad 100644 (file)
@@ -37,10 +37,11 @@ namespace WebKit {
 
 class WebAnimationImpl : public WebAnimation {
 public:
-    WebAnimationImpl(const WebAnimationCurve&, int animationId, int groupId, TargetProperty);
+    WebAnimationImpl(const WebAnimationCurve&, TargetProperty, int animationId, int groupId);
     virtual ~WebAnimationImpl();
 
     // WebAnimation implementation
+    virtual int id() OVERRIDE;
     virtual TargetProperty targetProperty() const OVERRIDE;
     virtual int iterations() const OVERRIDE;
     virtual void setIterations(int) OVERRIDE;
index 70da65e..7f63e1f 100644 (file)
@@ -45,7 +45,7 @@ namespace {
 bool animationCanBeTranslated(const KeyframeValueList& values, Animation* animation)
 {
     IntSize boxSize;
-    return createWebAnimation(values, animation, 0, 0, 0, boxSize);
+    return createWebAnimation(values, animation, 0, 0, boxSize);
 }
 
 TEST(AnimationTranslationUtilTest, createOpacityAnimation)
index c0a9cf2..40df279 100644 (file)
@@ -98,7 +98,8 @@ TEST_F(GraphicsLayerChromiumTest, updateLayerPreserves3DWithAnimations)
 
     OwnPtr<WebFloatAnimationCurve> curve = adoptPtr(WebFloatAnimationCurve::create());
     curve->add(WebFloatKeyframe(0.0, 0.0));
-    OwnPtr<WebAnimation> floatAnimation(adoptPtr(WebAnimation::create(*curve, 1, 1, WebAnimation::TargetPropertyOpacity)));
+    OwnPtr<WebAnimation> floatAnimation(adoptPtr(WebAnimation::create(*curve, WebAnimation::TargetPropertyOpacity)));
+    int animationId = floatAnimation->id();
     ASSERT_TRUE(m_platformLayer->addAnimation(floatAnimation.get()));
 
     ASSERT_TRUE(m_platformLayer->hasActiveAnimation());
@@ -109,7 +110,7 @@ TEST_F(GraphicsLayerChromiumTest, updateLayerPreserves3DWithAnimations)
     ASSERT_TRUE(m_platformLayer);
 
     ASSERT_TRUE(m_platformLayer->hasActiveAnimation());
-    m_platformLayer->removeAnimation(1);
+    m_platformLayer->removeAnimation(animationId);
     ASSERT_FALSE(m_platformLayer->hasActiveAnimation());
 
     m_graphicsLayer->setPreserves3D(false);