[Webkit-unassigned] [Bug 5971] svg content doesn't work in <image> <img> or <feImage> tags

bugzilla-daemon at opendarwin.org bugzilla-daemon at opendarwin.org
Mon Aug 14 21:52:48 PDT 2006


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





------- Comment #5 from macdome at opendarwin.org  2006-08-14 21:52 PDT -------
Created an attachment (id=10034)
 --> (http://bugzilla.opendarwin.org/attachment.cgi?id=10034&action=view)
My first hack-and-slash architecture exploration (for hyatt and others to look
at)

I wonder if I even dare try and list all the problems with this patch.

The purpose is to let hyatt and others look at this, and promote intelligent
discussion about what sort of architecture re-workings will be necessary to
make SVG content work where bitmap images work today (<img>, background-image,
etc.).

To do this, I made 'Image' an abstract class, breaking logic out into
BitmapImage and PDFDocumentImage.  I also added a 'SVGImage' subclass of Image.

However, there are issues:

Right now RenderImage is not wired up to allow the Image object to effect the
size calculation.  This will have to change for this to work.  (Right now for
percentage-sized <svg>s the code just assumes a 1000x1000 viewport and sizes
the SVG canvas accordingly.)

Also I'm wondering if RenderImage is the right Renderer to use here at all. 
I'm having to fake a bunch of stuff that RenderFrame normally would do. 
Perhaps <img>, etc should just use a RenderFrame when the Image is an SVG and
set a RenderFrame::pretendToBeAnImage flag.  I'm not sure how background-image
works, we may end up needing a hacked up SVGImage anyway.

If we go with the SVGImage route, we'll have to teach WebCore how to make
Page/FrameView/Frame stacks w/o needing to use WebKit to store the view size. 
(The FrameView thinks its content is 0x0.  I believe that is why the background
color is not correctly drawn.)

Comments are encouraged.


-- 
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