> How does this proposal deal with transformed content?

Not sure what you mean. If you mean SVG foreignobject stuff, then
here's how I expect that to work:
-- there's an nsDisplayItemSVG which an outermost SVG frame pushes onto
the display list
-- nsDisplayItemSVG::Paint just calls into SVG's own paint system to
paint the entire subtree of SVG content
-- if SVG painting encounters a foreignobject, then it calls
BuildDisplayListForStackingContext to build a display list for the
non-SVG subtree, then paints the contents of the display list into a
gfxContext with appropriate transforms already set in it.

Pretty straightforward really. That's basically what my original
foreignobject demo did except it had to be hacked into the view system.
It'll simpler with this approach to viewless painting.

> Does GetAbsoluteBounds calculate the bounds relative to the nearest widget?

No, relative to some arbitrary reference point that is fixed for the
display list. Probably we would choose the origin of the rootmost
widget.

> Removing views completely is a significantly bigger
> project than just moving display-list related code.

Yes. Removing views completely is a longer term project, but moving out
the display-list code is a good first step.

> Are you planning on moving the widget management code at the same time?

My not-so-secret agenda is also to remove all widgets :-) (except for
rootmost widgets (including popups), and plugin-related widgets). I
swear I had  some wiki notes about this but I can't find them... I
believe the main issues are plugins and scrolling, and possibly some
API issues if subdocuments (IFRAMEs) no longer have an nsIWidget.

Rob

_______________________________________________
mozilla-layout mailing list
[email protected]
http://mail.mozilla.org/listinfo/mozilla-layout

Reply via email to