Changeset 88637 in webkit


Ignore:
Timestamp:
Jun 13, 2011 7:28:31 AM (13 years ago)
Author:
krit@webkit.org
Message:

2011-06-13 Dirk Schulze <krit@webkit.org>

Reviewed by Rob Buis.

SVG patternTransform not animatable
https://bugs.webkit.org/show_bug.cgi?id=62538

SVG animation did not take attribute 'patternTransform' into account. Added support for combination of
SVGPatternElement and attribute 'patternTransform' to SVGAnimateTransformElement.

Tests: svg/animations/animateTransform-pattern-transform.html

svg/animations/animateTransform-transformable-transform.html

  • svg/SVGAnimateTransformElement.cpp: (WebCore::transformListFor): (WebCore::SVGAnimateTransformElement::resetToBaseValue): (WebCore::SVGAnimateTransformElement::applyResultsToTarget):

2011-06-13 Dirk Schulze <krit@webkit.org>

Reviewed by Rob Buis.

SVG patternTransform not animatable
https://bugs.webkit.org/show_bug.cgi?id=62538

Test SVG animateTransform for attributes 'transform' and 'patternTransform'.

  • svg/animations/animateTransform-pattern-transform-expected.txt: Added.
  • svg/animations/animateTransform-pattern-transform.html: Added.
  • svg/animations/animateTransform-transformable-transform-expected.txt: Added.
  • svg/animations/animateTransform-transformable-transform.html: Added.
  • svg/animations/script-tests/animateTransform-pattern-transform.js: Added. (sample1): (sample2): (sample3): (executeTest):
  • svg/animations/script-tests/animateTransform-transformable-transform.js: Added. (sample1): (sample2): (sample3): (executeTest):
Location:
trunk
Files:
6 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r88636 r88637  
     12011-06-13  Dirk Schulze  <krit@webkit.org>
     2
     3        Reviewed by Rob Buis.
     4
     5        SVG patternTransform not animatable
     6        https://bugs.webkit.org/show_bug.cgi?id=62538
     7
     8        Test SVG animateTransform for attributes 'transform' and 'patternTransform'.
     9
     10        * svg/animations/animateTransform-pattern-transform-expected.txt: Added.
     11        * svg/animations/animateTransform-pattern-transform.html: Added.
     12        * svg/animations/animateTransform-transformable-transform-expected.txt: Added.
     13        * svg/animations/animateTransform-transformable-transform.html: Added.
     14        * svg/animations/script-tests/animateTransform-pattern-transform.js: Added.
     15        (sample1):
     16        (sample2):
     17        (sample3):
     18        (executeTest):
     19        * svg/animations/script-tests/animateTransform-transformable-transform.js: Added.
     20        (sample1):
     21        (sample2):
     22        (sample3):
     23        (executeTest):
     24
    1252011-06-13  Vitaly Repeshko  <vitalyr@chromium.org>
    226
  • trunk/Source/WebCore/ChangeLog

    r88635 r88637  
     12011-06-13  Dirk Schulze  <krit@webkit.org>
     2
     3        Reviewed by Rob Buis.
     4
     5        SVG patternTransform not animatable
     6        https://bugs.webkit.org/show_bug.cgi?id=62538
     7
     8        SVG animation did not take attribute 'patternTransform' into account. Added support for combination of
     9        SVGPatternElement and attribute 'patternTransform' to SVGAnimateTransformElement.
     10
     11        Tests: svg/animations/animateTransform-pattern-transform.html
     12               svg/animations/animateTransform-transformable-transform.html
     13
     14        * svg/SVGAnimateTransformElement.cpp:
     15        (WebCore::transformListFor):
     16        (WebCore::SVGAnimateTransformElement::resetToBaseValue):
     17        (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
     18
    1192011-06-13  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
    220
  • trunk/Source/WebCore/svg/SVGAnimateTransformElement.cpp

    r87010 r88637  
    3535#include "SVGNames.h"
    3636#include "SVGParserUtilities.h"
     37#include "SVGPatternElement.h"
    3738#include "SVGSVGElement.h"
    3839#include "SVGStyledTransformableElement.h"
     
    4142#include "SVGTransformList.h"
    4243#include "SVGUseElement.h"
    43 #include <math.h>
    4444#include <wtf/MathExtras.h>
    4545
     
    124124    if (element->hasTagName(SVGNames::linearGradientTag) || element->hasTagName(SVGNames::radialGradientTag))
    125125        return &static_cast<SVGGradientElement*>(element)->gradientTransform();
    126     // FIXME: Handle patternTransform, which is obviously missing!
     126    if (element->hasTagName(SVGNames::patternTag))
     127        return &static_cast<SVGPatternElement*>(element)->patternTransform();
    127128    return 0;
    128129}
     
    134135        return;
    135136
     137    // FIXME: This might not be correct for accumulated sum. Needs checking.
    136138    if (targetElement->hasTagName(SVGNames::linearGradientTag) || targetElement->hasTagName(SVGNames::radialGradientTag)) {
    137139        targetElement->setAttribute(SVGNames::gradientTransformAttr, baseValue.isEmpty() ? "matrix(1 0 0 1 0 0)" : baseValue);
    138140        return;
    139141    }
    140 
     142    if (targetElement->hasTagName(SVGNames::patternTag)) {
     143        targetElement->setAttribute(SVGNames::patternTransformAttr, baseValue.isEmpty() ? "matrix(1 0 0 1 0 0)" : baseValue);
     144        return;
     145    }
     146   
    141147    if (baseValue.isEmpty()) {
    142148        if (SVGTransformList* list = transformListFor(targetElement))
     
    222228        else if (shadowTreeElement->hasTagName(SVGNames::linearGradientTag) || shadowTreeElement->hasTagName(SVGNames::radialGradientTag))
    223229            static_cast<SVGGradientElement*>(shadowTreeElement)->setGradientTransformBaseValue(*transformList);
    224         // FIXME: Handle patternTransform, obviously missing!
     230        else if (shadowTreeElement->hasTagName(SVGNames::patternTag))
     231            static_cast<SVGPatternElement*>(shadowTreeElement)->setPatternTransformBaseValue(*transformList);
    225232        if (RenderObject* renderer = shadowTreeElement->renderer()) {
    226233            renderer->setNeedsTransformUpdate();
Note: See TracChangeset for help on using the changeset viewer.