Title: [91279] branches/chromium/782

Diff

Deleted: branches/chromium/782/LayoutTests/svg/animations/script-tests/svgtransform-animation-discrete.js (91278 => 91279)


--- branches/chromium/782/LayoutTests/svg/animations/script-tests/svgtransform-animation-discrete.js	2011-07-19 18:51:27 UTC (rev 91278)
+++ branches/chromium/782/LayoutTests/svg/animations/script-tests/svgtransform-animation-discrete.js	2011-07-19 18:52:43 UTC (rev 91279)
@@ -1,66 +0,0 @@
-description("Test calcMode=discrete animation on SVGAnimateTransform.");
-createSVGTestCase();
-
-// Setup test document
-var rect = createSVGElement("rect");
-rect.setAttribute("id", "rect");
-rect.setAttribute("width", "100");
-rect.setAttribute("height", "100");
-rect.setAttribute("x", "0");
-rect.setAttribute("y", "0");
-rect.setAttribute("fill", "green");
-rect.setAttribute("onclick", "executeTest()");
-
-var animate = createSVGElement("animateTransform");
-animate.setAttribute("id", "animation");
-animate.setAttribute("attributeName", "transform");
-animate.setAttribute("type", "translate");
-animate.setAttribute("from", "100,100");
-animate.setAttribute("to", "0,0");
-animate.setAttribute("type", "translate");
-animate.setAttribute("calcMode", "discrete");
-animate.setAttribute("begin", "click");
-animate.setAttribute("dur", "4s");
-rect.appendChild(animate);
-rootSVGElement.appendChild(rect);
-
-// Setup animation test
-
-function sample1() {
-    // Check initial/end conditions
-    shouldBe("rect.transform.animVal.numberOfItems", "0");
-    shouldBeCloseEnough("document.defaultView.getComputedStyle(rect).getPropertyValue('x')", "0", 0.01);
-    shouldBeCloseEnough("document.defaultView.getComputedStyle(rect).getPropertyValue('y')", "0", 0.01);
-}
-
-function sample2() {
-    // Check initial/end conditions
-    shouldBe("rect.transform.animVal.numberOfItems", "1");
-    shouldBe("rect.transform.animVal.getItem(0).type", "SVGTransform.SVG_TRANSFORM_TRANSLATE");
-    shouldBeCloseEnough("rect.transform.animVal.getItem(0).matrix.e", "100", 0.01);
-    shouldBeCloseEnough("rect.transform.animVal.getItem(0).matrix.f", "100", 0.01);
-}
-
-function sample3() {
-    shouldBe("rect.transform.animVal.numberOfItems", "1");
-    shouldBe("rect.transform.animVal.getItem(0).type", "SVGTransform.SVG_TRANSFORM_TRANSLATE");
-    shouldBeCloseEnough("rect.transform.animVal.getItem(0).matrix.e", "0", 0.01);
-    shouldBeCloseEnough("rect.transform.animVal.getItem(0).matrix.f", "0", 0.01);
-}
-
-function executeTest() {
-    const expectedValues = [
-        // [animationId, time, elementId, sampleCallback]
-        ["animation", 0.0,  "rect", sample1],
-        ["animation", 0.001,  "rect", sample2],
-        ["animation", 1.0,    "rect", sample2],
-        ["animation", 3.0,    "rect", sample3],
-        ["animation", 3.9999, "rect", sample3],
-    ];
-
-    runAnimationTest(expectedValues);
-}
-
-// Begin test async
-window.setTimeout("triggerUpdate(50, 50)", 0);
-var successfullyParsed = true;

Deleted: branches/chromium/782/LayoutTests/svg/animations/svgtransform-animation-discrete-expected.txt (91278 => 91279)


--- branches/chromium/782/LayoutTests/svg/animations/svgtransform-animation-discrete-expected.txt	2011-07-19 18:51:27 UTC (rev 91278)
+++ branches/chromium/782/LayoutTests/svg/animations/svgtransform-animation-discrete-expected.txt	2011-07-19 18:52:43 UTC (rev 91279)
@@ -1,30 +0,0 @@
-SVG 1.1 transform animation tests
-
-Test calcMode=discrete animation on SVGAnimateTransform.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS rect.transform.animVal.numberOfItems is 0
-PASS document.defaultView.getComputedStyle(rect).getPropertyValue('x') is 0
-PASS document.defaultView.getComputedStyle(rect).getPropertyValue('y') is 0
-PASS rect.transform.animVal.numberOfItems is 1
-PASS rect.transform.animVal.getItem(0).type is SVGTransform.SVG_TRANSFORM_TRANSLATE
-PASS rect.transform.animVal.getItem(0).matrix.e is 100
-PASS rect.transform.animVal.getItem(0).matrix.f is 100
-PASS rect.transform.animVal.numberOfItems is 1
-PASS rect.transform.animVal.getItem(0).type is SVGTransform.SVG_TRANSFORM_TRANSLATE
-PASS rect.transform.animVal.getItem(0).matrix.e is 100
-PASS rect.transform.animVal.getItem(0).matrix.f is 100
-PASS rect.transform.animVal.numberOfItems is 1
-PASS rect.transform.animVal.getItem(0).type is SVGTransform.SVG_TRANSFORM_TRANSLATE
-PASS rect.transform.animVal.getItem(0).matrix.e is 0
-PASS rect.transform.animVal.getItem(0).matrix.f is 0
-PASS rect.transform.animVal.numberOfItems is 1
-PASS rect.transform.animVal.getItem(0).type is SVGTransform.SVG_TRANSFORM_TRANSLATE
-PASS rect.transform.animVal.getItem(0).matrix.e is 0
-PASS rect.transform.animVal.getItem(0).matrix.f is 0
-PASS successfullyParsed is true
-
-TEST COMPLETE
-

Deleted: branches/chromium/782/LayoutTests/svg/animations/svgtransform-animation-discrete.html (91278 => 91279)


--- branches/chromium/782/LayoutTests/svg/animations/svgtransform-animation-discrete.html	2011-07-19 18:51:27 UTC (rev 91278)
+++ branches/chromium/782/LayoutTests/svg/animations/svgtransform-animation-discrete.html	2011-07-19 18:52:43 UTC (rev 91279)
@@ -1,15 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-<head>
-<link rel="stylesheet" href=""
-<script src=""
-<script src=""
-<script src=""
-</head>
-<body>
-<h1>SVG 1.1 transform animation tests</h1>
-<p id="description"></p>
-<div id="console"></div>
-<script src=""
-</body>
-</html>

Modified: branches/chromium/782/Source/WebCore/svg/SVGAnimateTransformElement.cpp (91278 => 91279)


--- branches/chromium/782/Source/WebCore/svg/SVGAnimateTransformElement.cpp	2011-07-19 18:51:27 UTC (rev 91278)
+++ branches/chromium/782/Source/WebCore/svg/SVGAnimateTransformElement.cpp	2011-07-19 18:52:43 UTC (rev 91279)
@@ -114,15 +114,15 @@
     ASSERT_NOT_REACHED();
 }
 
-static PassRefPtr<SVGAnimatedTransformList> animatedTransformListFor(SVGElement* element)
+static SVGTransformList* transformListFor(SVGElement* element)
 {
     ASSERT(element);
     if (element->isStyledTransformable())
-        return static_cast<SVGStyledTransformableElement*>(element)->transformAnimated();
+        return &static_cast<SVGStyledTransformableElement*>(element)->transform();
     if (element->hasTagName(SVGNames::textTag))
-        return static_cast<SVGTextElement*>(element)->transformAnimated();
+        return &static_cast<SVGTextElement*>(element)->transform();
     if (element->hasTagName(SVGNames::linearGradientTag) || element->hasTagName(SVGNames::radialGradientTag))
-        return static_cast<SVGGradientElement*>(element)->gradientTransformAnimated();
+        return &static_cast<SVGGradientElement*>(element)->gradientTransform();
     // FIXME: Handle patternTransform, which is obviously missing!
     return 0;
 }
@@ -139,10 +139,8 @@
     }
 
     if (baseValue.isEmpty()) {
-        if (RefPtr<SVGAnimatedTransformList> list = animatedTransformListFor(targetElement)) {
-            list->detachListWrappers(0);
-            list->values().clear();
-        }
+        if (SVGTransformList* list = transformListFor(targetElement))
+            list->clear();
     } else
         targetElement->setAttribute(SVGNames::transformAttr, baseValue);
 }
@@ -152,20 +150,17 @@
     SVGElement* targetElement = this->targetElement();
     if (!targetElement || determineAnimatedAttributeType(targetElement) == AnimatedUnknown)
         return;
-    RefPtr<SVGAnimatedTransformList> animatedList = animatedTransformListFor(targetElement);
-    ASSERT(animatedList);
+    SVGTransformList* transformList = transformListFor(targetElement);
+    ASSERT(transformList);
 
-    if (!isAdditive()) {
-        animatedList->detachListWrappers(0);
-        animatedList->values().clear();
-    }
+    if (!isAdditive())
+        transformList->clear();
     if (isAccumulated() && repeat) {
         SVGTransform accumulatedTransform = SVGTransformDistance(m_fromTransform, m_toTransform).scaledDistance(repeat).addToSVGTransform(SVGTransform());
         transformList->append(accumulatedTransform);
     }
     SVGTransform transform = SVGTransformDistance(m_fromTransform, m_toTransform).scaledDistance(percentage).addToSVGTransform(m_fromTransform);
-    animatedList->values().append(transform);
-    animatedList->wrappers().append(RefPtr<SVGPropertyTearOff<SVGTransform> >());
+    transformList->append(transform);
 }
     
 bool SVGAnimateTransformElement::calculateFromAndToValues(const String& fromString, const String& toString)
@@ -211,10 +206,9 @@
     }
 
     // ...except in case where we have additional instances in <use> trees.
-    RefPtr<SVGAnimatedTransformList> animatedList = animatedTransformListFor(targetElement);
-    if (!animatedList)
+    SVGTransformList* transformList = transformListFor(targetElement);
+    if (!transformList)
         return;
-    SVGTransformList* transformList = &animatedList->values();
 
     const HashSet<SVGElementInstance*>& instances = targetElement->instancesForElement();
     const HashSet<SVGElementInstance*>::const_iterator end = instances.end();
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to