I'd like to propose splitting a significant piece off of the (rather
large) Layout module currently documented at:
https://wiki.mozilla.org/Modules/Core#Layout_Engine
In particular, I'd like to separate the code that deals with
painting, display lists, and layer construction into its own module.
Some of this code isn't particularly well separated from other code
in the module (since some of it is, e.g., the display list-related
member functions on frame classes). However, given that this code
has a different set of experts than much of the rest of the module,
I think it makes sense for it to be a separate module even though
some of the code is mixed in the same file with code that would
remain in the Layout module. (See below [1] for a very rough list.)
Code for construction of the frame tree, position and size
calculations in the frame tree, and related code would remain in the
layout module.
Furthermore, I'd like to propose that Matt Woodrow be the initial
owner of this new module.
It's not entirely clear what a good name for this module is. Given
that I think the major function of this module is to deal with the
first few steps of mapping concepts from the Web platform
(particularly CSS) into somewhat more generic (but still
Web-related) graphics concepts, I'd suggest (after brief discussion
with Matt) that perhaps "Web Painting" or "CSS Painting" would be a
decent name for the module.
-David
[1] I think the code that would be covered by this module would be
roughly:
layout/base/*Display*
layout/base/*Render*
layout/base/*Layer*
layout/base/*Paint*
layout/base/*Border*
layout/base/*Corner*
painting code within layout/base/nsPresShell, nsPresContext, and
nsLayoutUtils
the display list and layer related methods on nsIFrame and its
subclasses
probably some code related to SVG effects
probably some other things that I forgot
--
đť„ž L. David Baron
http://dbaron.org/ đť„‚
𝄢 Mozilla
https://www.mozilla.org/ đť„‚
Before I built a wall I'd ask to know
What I was walling in or walling out,
And to whom I was like to give offense.
- Robert Frost, Mending Wall (1914)