Bug 83140 - Implement animatedPathSegList support for SVGPathElement
Summary: Implement animatedPathSegList support for SVGPathElement
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: SVG (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nikolas Zimmermann
URL:
Keywords:
Depends on: 12437
Blocks: 41761
  Show dependency treegraph
 
Reported: 2012-04-04 03:57 PDT by Nikolas Zimmermann
Modified: 2012-04-04 06:53 PDT (History)
4 users (show)

See Also:


Attachments
Patch (188.30 KB, patch)
2012-04-04 04:07 PDT, Nikolas Zimmermann
zherczeg: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Nikolas Zimmermann 2012-04-04 03:57:28 PDT
This is the last missing piece of our animVal support: AnimatedPath animations should update animatedPathSegList instead of pathSegList.
Comment 1 Nikolas Zimmermann 2012-04-04 04:07:48 PDT
Created attachment 135552 [details]
Patch
Comment 2 Zoltan Herczeg 2012-04-04 04:29:42 PDT
Comment on attachment 135552 [details]
Patch

Well done! r=me with a few comments:

View in context: https://bugs.webkit.org/attachment.cgi?id=135552&action=review

> Source/WebCore/ChangeLog:8
> +        Add last missing piece of animVal support: animations of the SVGPathElement's 'd' attribute

Add the last

> Source/WebCore/svg/SVGAnimatedType.cpp:441
> +    // AnimatedColor is only used for CSS property animations.
> +    if (type == AnimatedUnknown || type == AnimatedColor)
>          return false;
> -    }
> -
> -    ASSERT_NOT_REACHED();
> -    return false;
> +    return true;

What about: return (type != AnimatedUnknown && type != AnimatedColor);

> Source/WebCore/svg/SVGAnimatedTypeAnimator.h:43
> +    virtual PassOwnPtr<SVGAnimatedType> startAnimValAnimation(const Vector<SVGAnimatedProperty*>&) = 0;
> +    virtual void stopAnimValAnimation(const Vector<SVGAnimatedProperty*>&) = 0;
> +    virtual void resetAnimValToBaseVal(const Vector<SVGAnimatedProperty*>&, SVGAnimatedType*) = 0;
> +    virtual void animValWillChange(const Vector<SVGAnimatedProperty*>&) = 0;
> +    virtual void animValDidChange(const Vector<SVGAnimatedProperty*>&) = 0;

Really happy to see them as pure virtual finally!
Comment 3 Nikolas Zimmermann 2012-04-04 06:53:21 PDT
Committed r113184: <http://trac.webkit.org/changeset/113184>