Changeset 66836 in webkit


Ignore:
Timestamp:
Sep 6, 2010 9:51:37 AM (14 years ago)
Author:
commit-queue@webkit.org
Message:

2010-09-06 Shane Stephens <shanestephens@google.com>

Reviewed by Dimitri Glazkov.

[Crash] <animateMotion> element directly inside <symbol> element causes crash when referenced by <use>
https://bugs.webkit.org/show_bug.cgi?id=44750

Added test case to demonstrate crash bug.

  • svg/dom/symbol-embeddedAnimation-expected.txt: Added.
  • svg/dom/symbol-embeddedAnimation.svg: Added.

2010-09-06 Shane Stephens <shanestephens@google.com>

Reviewed by Dimitri Glazkov.

[Crash] <animateMotion> element directly inside <symbol> element causes crash when referenced by <use>
https://bugs.webkit.org/show_bug.cgi?id=44750

Fixes crash by checking for null transforms and skipping update step
when appropriate.

Test: svg/dom/symbol-embeddedAnimation.svg

  • svg/SVGAnimateMotionElement.cpp: (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
Location:
trunk
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r66833 r66836  
     12010-09-06  Shane Stephens  <shanestephens@google.com>
     2
     3        Reviewed by Dimitri Glazkov.
     4
     5        [Crash] <animateMotion> element directly inside <symbol> element causes crash when referenced by <use>
     6        https://bugs.webkit.org/show_bug.cgi?id=44750
     7
     8        Added test case to demonstrate crash bug.
     9
     10        * svg/dom/symbol-embeddedAnimation-expected.txt: Added.
     11        * svg/dom/symbol-embeddedAnimation.svg: Added.
     12
    1132010-09-06  Martin Robinson  <mrobinson@igalia.com>
    214
  • trunk/WebCore/ChangeLog

    r66831 r66836  
     12010-09-06  Shane Stephens  <shanestephens@google.com>
     2
     3        Reviewed by Dimitri Glazkov.
     4
     5        [Crash] <animateMotion> element directly inside <symbol> element causes crash when referenced by <use>
     6        https://bugs.webkit.org/show_bug.cgi?id=44750
     7
     8        Fixes crash by checking for null transforms and skipping update step
     9        when appropriate.
     10
     11        Test: svg/dom/symbol-embeddedAnimation.svg
     12
     13        * svg/SVGAnimateMotionElement.cpp:
     14        (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
     15
    1162010-09-06  Xan Lopez  <xlopez@igalia.com>
    217
  • trunk/WebCore/svg/SVGAnimateMotionElement.cpp

    r66498 r66836  
    223223        RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer);
    224224
     225    AffineTransform* t = targetElement->supplementalTransform();
     226    if (!t)
     227        return;
     228
    225229    // ...except in case where we have additional instances in <use> trees.
    226230    const HashSet<SVGElementInstance*>& instances = targetElement->instancesForElement();
     
    230234        ASSERT(shadowTreeElement);
    231235        AffineTransform* transform = shadowTreeElement->supplementalTransform();
    232         AffineTransform* t = targetElement->supplementalTransform();
     236        if (!transform)
     237            continue;
    233238        transform->setMatrix(t->a(), t->b(), t->c(), t->d(), t->e(), t->f());
    234239        if (RenderObject* renderer = shadowTreeElement->renderer()) {
Note: See TracChangeset for help on using the changeset viewer.