Bug 44511

Summary: Markers don't render, when applied to a target using vector-effect="non-scaling-stroke"
Product: WebKit Reporter: Nikolas Zimmermann <zimmermann>
Component: SVGAssignee: Nikolas Zimmermann <zimmermann>
Status: RESOLVED FIXED    
Severity: Normal CC: zimmermann
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
Patch krit: review+

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.