[Webkit-unassigned] [Bug 6000] <use> <pattern> <gradient> do not handle recursion correctly

bugzilla-daemon at opendarwin.org bugzilla-daemon at opendarwin.org
Thu Jan 26 15:23:16 PST 2006


http://bugzilla.opendarwin.org/show_bug.cgi?id=6000


macdome at opendarwin.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |SVGHitList
           Priority|P4                          |P2
            Summary|<use> does not handle       |<use> <pattern> <gradient>
                   |recursion correctly         |do not handle recursion
                   |                            |correctly




------- Comment #1 from macdome at opendarwin.org  2006-01-26 15:23 -------
Because these could all be Safari crashers, we would not want to ship an SVG
implementation without these fixed.  Adding SVGHitList keyword and bumping to
P2.

I began a patch at one time to fix <pattern> and <gradient>.  The way that I
envision solving this is:

1.  Create a on-the-stack simplified "pattern attributes" or "gradient
attributes" structure.
2.  Loop backwards through the xlink:href parent chain until either one of the
following:
- All attributes in the structure are filled
- The chain terminates (no more, or you reach a node you've seen before).

I would suggest using a HashSet to keep track of all the nodes that you've seen
when walking backwards.  In all three cases one of the required "attributes" to
track in this structure is a pointer to whichever pattern/gradient/use element
actually had children that you're going to render.  In all three cases, if an
element does not itself have children, it uses the children of the first
element in its xlink:href inheritance chain when rendering.


-- 
Configure bugmail: http://bugzilla.opendarwin.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the webkit-unassigned mailing list