[Webkit-unassigned] [Bug 15443] SVGImage does not support sub-resource loading

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Jun 25 08:07:43 PDT 2010


--- Comment #5 from Morley Abbott <mabbo at chromium.org>  2010-06-25 08:07:43 PST ---
Created an attachment (id=59767)
 --> (https://bugs.webkit.org/attachment.cgi?id=59767)
HTML file including SVG image with sub-resources

Early on, I had made the assumption that WebKit would render an SVG file on its own the same way it would render it if it were included in an html file. This was incorrect. 

The attached test case contains:
img-recursion2.svg: a 50x100 rectangle, entirely green
img-recursion2.png: a png, identical to img-recursion2.svg
img-recursion.svg:  an svg image containing, a red rect 100x100, and side by side, the two other images over top of the red rect.
test.html: html tag, body tag, img tag with src=img-recursion.svg. 

When img-recursion.svg is loaded by webkit, the final render is of an entire green 100x100 rectangle (but is really two sub-resourced images, both 50x100 green rectangles, img-recursion2.svg and img-recursion2.png, overtop of a red rect). 

When we load the html file, we should expect to see an identical output. We do not- instead, we see the red rect object only. This means that svg image elements don't load any sub-resources at all, unless they are loaded on their own. Render dumps of both cases provide some interesting information. 

layer at (0,0) size 800x600
  RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
  RenderBlock {HTML} at (0,0) size 800x600
    RenderBody {BODY} at (8,8) size 784x584
      RenderImage {IMG} at (0,0) size 100x100
      RenderText {#text} at (0,0) size 0x0

layer at (0,0) size 800x600
  RenderView at (0,0) size 800x600
layer at (0,0) size 100x100
  RenderSVGRoot {svg} at (0,0) size 100x100
    RenderPath {rect} at (0,0) size 100x100 [fill={[type=SOLID] [color=#FF0000]}] [data="M0.00,0.00 L100.00,0.00 L100.00,100.00 L0.00,100.00 Z"]
    RenderSVGImage {image} at (0,0) size 50x100
    RenderSVGImage {image} at (50,0) size 50x100

This leads me to suspect that the SubResource loading classes are not handling svg images correctly, while MainResource loading classes do. I will continue to dig deeper into these classes, and how they handle each case.

Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

More information about the webkit-unassigned mailing list