Bug 75703 - [Chromium] Shift PathSkia to use Skia's new RawIter
Summary: [Chromium] Shift PathSkia to use Skia's new RawIter
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: SVG (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Stephen Chenney
URL:
Keywords:
Depends on:
Blocks: 71820
  Show dependency treegraph
 
Reported: 2012-01-06 08:29 PST by Stephen Chenney
Modified: 2012-01-10 08:54 PST (History)
7 users (show)

See Also:


Attachments
Patch (4.66 KB, patch)
2012-01-06 12:06 PST, Stephen Chenney
no flags Details | Formatted Diff | Diff
Patch (4.11 KB, patch)
2012-01-10 08:10 PST, Stephen Chenney
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Stephen Chenney 2012-01-06 08:29:25 PST
Skia Changeset 2962, now used by the Chromium port, includes a path iterator that returns all points without clean-up or embellishment. The WebCore::Path::apply method should use this new iterator, as it provides information necessary for correct marker and linecap drawing.
Comment 1 Nikolas Zimmermann 2012-01-06 11:49:53 PST
This won't help other platforms, and it should really be fixed for all. I vote against this.
Comment 2 Stephen Chenney 2012-01-06 12:06:17 PST
Created attachment 121462 [details]
Patch
Comment 3 Stephen Chenney 2012-01-06 12:10:15 PST
I verified the behavior for canvas layout tests and SVG layout tests. Some SVG results are fixed by this, hence the test_expectations update.
Comment 4 Stephen Chenney 2012-01-06 12:17:21 PST
(In reply to comment #1)
> This won't help other platforms, and it should really be fixed for all. I vote against this.

It doesn't change anything for other platforms, but is a pre-requisite for fixing all platforms. See https://bugs.webkit.org/show_bug.cgi?id=71820 for the linecap issues, which I will put a patch up for as soon as this is in. Then there another bug someplace for marker drawing issues, that I will deal with next.
Comment 5 Nikolas Zimmermann 2012-01-06 13:08:13 PST
Comment on attachment 121462 [details]
Patch

Sorry Stephen, I misunderstood! This looks fine, especially if its required to fix the linecaps bugs, r=me.
Comment 6 Stephen White 2012-01-06 13:15:47 PST
Comment on attachment 121462 [details]
Patch

Will this change affect non-SVG callers of Path::apply()?

Also, you'll probably also need to roll webkit's chromium DEPS (in Source/WebKit/chromium/DEPS) to past the Skia roll that brought in the RawIter, in order to avoid breaking the compile of the build.webkit.org bots.
Comment 7 WebKit Review Bot 2012-01-06 13:20:03 PST
Comment on attachment 121462 [details]
Patch

Attachment 121462 [details] did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11173068
Comment 8 Stephen Chenney 2012-01-06 15:08:50 PST
(In reply to comment #6)
> (From update of attachment 121462 [details])
> Will this change affect non-SVG callers of Path::apply()?
> 
> Also, you'll probably also need to roll webkit's chromium DEPS (in Source/WebKit/chromium/DEPS) to past the Skia roll that brought in the RawIter, in order to avoid breaking the compile of the build.webkit.org bots.

Argh. I was not requesting commit queue so that we could sort out the Skia deps or other Chromium issues, but I guess it was attempted anyway.

The only other code that uses the platform/graphics/Path... code is canvas, and all the canvas checks pass. I'll look for explicit usage before committing, but I'm confident we're good to go. I also verified that the JS code does not rely on this representation when reporting on SVG data (and canvas is purely imperative).

Let's have the US east coast teams coordinate on Monday morning to roll the WebKit Skia deps so we can first deal with any issues that arise, without the complication of another change at the same time. Then, when all is clear, we can commit this.
Comment 9 Dirk Schulze 2012-01-08 17:40:18 PST
Comment on attachment 121462 [details]
Patch

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

> Source/WebCore/platform/graphics/Path.h:83
> +        PathElementMoveToPoint, // points contains 1 value

I assume you mean // Points contain 1 value.

Use sentences for comments. s/contains/contain/

Please fix that before landing.
Comment 10 Stephen Chenney 2012-01-10 08:10:08 PST
Created attachment 121850 [details]
Patch

This slightly modified patch addresses the comment issue.
Comment 11 WebKit Review Bot 2012-01-10 08:54:43 PST
Comment on attachment 121850 [details]
Patch

Clearing flags on attachment: 121850

Committed r104585: <http://trac.webkit.org/changeset/104585>
Comment 12 WebKit Review Bot 2012-01-10 08:54:48 PST
All reviewed patches have been landed.  Closing bug.