Bug 44511 - Markers don't render, when applied to a target using vector-effect="non-scaling-stroke"
Summary: Markers don't render, when applied to a target using vector-effect="non-scali...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: SVG (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Nikolas Zimmermann
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-08-24 03:34 PDT by Nikolas Zimmermann
Modified: 2010-08-24 05:57 PDT (History)
1 user (show)

See Also:


Attachments
Patch (24.78 KB, patch)
2010-08-24 03:49 PDT, Nikolas Zimmermann
krit: 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 2010-08-24 03:34:59 PDT
When rendering non-scaling-stroke elements RenderPath does the following:
- move to screen coordinate space (multiply CTM with inverse screen transformation)
- transform the path to screen coordinates
- stroke path
(1:1 according to SVG 1.2 Tiny spec)

RenderPath::fillAndStrokePath doesn't undo the screen coordinate space transformation, which leaves the GraphicsContext in the wrong coordinate space.
As markers are renderer right after that step, they don't show up anymore, when applying vector-effect="non-scaling-stroke" to any object.
Comment 1 Nikolas Zimmermann 2010-08-24 03:49:46 PDT
Created attachment 65254 [details]
Patch
Comment 2 Dirk Schulze 2010-08-24 03:56:56 PDT
Comment on attachment 65254 [details]
Patch

LGTM. r=me
Comment 3 Nikolas Zimmermann 2010-08-24 05:57:01 PDT
Landed in r65889.