[Webkit-unassigned] [Bug 16447] onload called too many times for <svg:image>

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Apr 7 00:31:14 PDT 2008


http://bugs.webkit.org/show_bug.cgi?id=16447





------- Comment #3 from eric at webkit.org  2008-04-07 00:31 PDT -------
Bah.  Unfortunately we need to better understand what proper SVGLoad event
handling is before we can really make any changes to this code.  To do so, we
need at least 3 (possibly 4) test cases, as described below:

1. normal loading, sign up for all listeners, make sure they are in order (a
single capture listener on the top element should work)
2.  loading with externalResourcesRequired, make sure it delays all parents,
but not siblings
3. using display: none, possibly (#4?) in combination with
externalResoucesRequired

Your attached patch removes code which was originally written to handle the
externalResoucesRequired delay case.  However, I'm not sure if <svg:image>
sends its Load event right after tag close, or after image load?  The spec is
somewhat vague:
http://www.w3.org/TR/SVG11/interact.html#LoadEvent
The event is triggered at the point at which the user agent has fully parsed
the element and its descendants and is ready to act appropriately upon that
element, such as being ready to render the element to the target device.
Referenced external resources that are required must be loaded, parsed and
ready to render before the event is triggered. Optional external resources are
not required to be ready for the event to be triggered.

I think <image> has sorta an implicit "external resources required" on it, and
thus delays its load event and all parent load events until its image is
loaded, and thus it's ready for display.

http://www.w3.org/TR/SVG11/struct.html#ExternalResourcesRequired
externalResourcesRequired=true
Indicates that resources external to the current document are required. If an
external resource is not available, progressive rendering is suspended, the
document's SVGLoad event is not fired and the animation timeline does not begin
until that resource and all other required resources become available, have
been parsed and are ready to be rendered. If a timeout event occurs on a
required resource, then the document goes into an error state (see Error
processing). The document remains in an error state until all required
resources become available.


-- 
Configure bugmail: http://bugs.webkit.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