Bug 21743

Summary: [CAIRO] RenderPath on SVG is incomplete.
Product: WebKit Reporter: Dirk Schulze <krit>
Component: SVGAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal Keywords: Cairo
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: All   
Attachments:
Description Flags
Completes RenderPath support for Cairo/SVG eric: review-

Description Dirk Schulze 2008-10-19 10:59:11 PDT
The support for strokeBBox and strokeContains on RenderPath in SVG is incomplete for Cairo. It misses the applying of stroke properties.
Comment 1 Dirk Schulze 2008-10-19 11:03:37 PDT
Created attachment 24510 [details]
Completes RenderPath support for Cairo/SVG

This patch applies the stroke properties to the context and makes some optimizations.
Comment 2 Eric Seidel (no email) 2008-10-21 14:26:50 PDT
Comment on attachment 24510 [details]
Completes RenderPath support for Cairo/SVG

Looks fine to me.  Is WebKit GTK *still* not running DRT?  If it is, this needs a test case.  r- for lack of test case (or test case changes).  But the code change itself looks fine.
Comment 3 Dirk Schulze 2008-10-22 10:57:50 PDT
(In reply to comment #2)
> (From update of attachment 24510 [details] [edit])
> Looks fine to me.  Is WebKit GTK *still* not running DRT?  If it is, this needs
> a test case.  r- for lack of test case (or test case changes).  But the code
> change itself looks fine.

There are already test cases in LayoutTests for this patch.

strokeContains: LayoutTests/svg/custom/hit-test-path-stroke.svg
strokeBBox: LayoutTests/svg/custom/stroked-pattern.svg

strokeBBox is only used on SVG patterns with overflow="visible". Cairo lack's support for overflow="visible" currently. It is added with https://bugs.webkit.org/show_bug.cgi?id=21205. But it needs the patch for patterns on https://bugs.webkit.org/show_bug.cgi?id=21555 too. 

Comment 4 Dirk Schulze 2008-11-23 13:46:27 PST
strokeBBox don't need the pattern patch: animate-elem-26-t.svg

This test can be run by DRT now.

But DRT has some problems on svg/custom/hit-test-path-stroke.svg for strokeContains. A problem on the DRT side.
Comment 5 Dirk Schulze 2009-01-15 10:38:39 PST
fixed by another patch