Bug 43929 - Use SVGPathByteStream to animate SVGPath
Summary: Use SVGPathByteStream to animate SVGPath
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: SVG (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC OS X 10.5
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-08-12 12:40 PDT by Dirk Schulze
Modified: 2010-08-13 03:15 PDT (History)
1 user (show)

See Also:


Attachments
Patch (40.01 KB, patch)
2010-08-12 13:15 PDT, Dirk Schulze
zimmermann: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Dirk Schulze 2010-08-12 12:40:11 PDT
Use SVGPathByteStream to animate SVGPath.
Comment 1 Dirk Schulze 2010-08-12 13:15:16 PDT
Created attachment 64250 [details]
Patch
Comment 2 Nikolas Zimmermann 2010-08-13 01:23:03 PDT
Comment on attachment 64250 [details]
Patch

WebCore/ChangeLog:9
 +          the starting point to the end point according to the current process.
s/process/progress value/

WebCore/ChangeLog:10
 +          Cleanup SVGPathSegList and delete the now needless blending code.
Cleanup SVGPathSegList, by removing the unnecessary legacy blending code.

WebCore/ChangeLog:55452
 +  == Rolled over to ChangeLog-2010-05-24 ==        No new tests because no functional changes.
This looks wrong.

WebCore/svg/SVGAnimateElement.cpp:34
 +  #include <stdio.h>
Leftover.

WebCore/svg/SVGAnimateElement.cpp:136
 +              ASSERT(m_fromPath);
Maybe add an additional ASSERT(percentage >= 0) to assure percentage is always positive.

WebCore/svg/SVGPathBlender.cpp:201
 +          m_fromSource->parseSVGSegmentType(fromCommand);
You should check the return boolean, and abort if there's a problem.

WebCore/svg/SVGPathBlender.cpp:203
 +          m_toSource->parseSVGSegmentType(toCommand);
Ditto.

WebCore/svg/SVGPathBlender.cpp:204
 +          if (fromCommand != toCommand)
Because this line wouldn't catch it, if fromCommand and toCommand are both Unknown.

WebCore/svg/SVGPathBlender.cpp:267
 +              return false;
I'm aware this would catch it, but I think the explicit check of the parseSVGSegmentType return values is cleaner.

WebCore/svg/SVGPathBlender.cpp:270
 +              break;
Also check wheter m_toSource hasMoreData, also abort if not.

WebCore/svg/SVGPathBlender.cpp:32
 +      , m_consumer(0)
Please also use , m_progress(0) here, to avoid confusion.

r=me, if you fix all issues.
Comment 3 Dirk Schulze 2010-08-13 03:15:45 PDT
Committed r65312: <http://trac.webkit.org/changeset/65312>