Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

splitting painting code out of the layout module

97 views
Skip to first unread message

L. David Baron

unread,
Oct 25, 2016, 8:13:57 PM10/25/16
to gover...@lists.mozilla.org, Matt Woodrow
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)
signature.asc

Jet Villegas

unread,
Oct 25, 2016, 9:30:54 PM10/25/16
to L. David Baron, Matt Woodrow, gover...@lists.mozilla.org
\o/

+1 for Web Painting

--Jet
> _______________________________________________
> governance mailing list
> gover...@lists.mozilla.org
> https://lists.mozilla.org/listinfo/governance
>
>

Eric Shepherd

unread,
Oct 26, 2016, 11:03:21 AM10/26/16
to L. David Baron, Matt Woodrow, gover...@lists.mozilla.org
“Web Painting”++

> On Oct 25, 2016, at 8:13 PM, L. David Baron <dba...@dbaron.org> wrote:
>
> "Web Painting"


Eric Shepherd
Senior Technical Writer
Mozilla Developer Network <https://developer.mozilla.org/>
Blog: http://www.bitstampede.com/
<http://www.bitstampede.com/>Twitter: http://twitter.com/sheppy <http://twitter.com/sheppy>

L. David Baron

unread,
Nov 6, 2016, 9:08:18 PM11/6/16
to gover...@lists.mozilla.org, Matt Woodrow
On Tuesday 2016-10-25 17:13 -0700, L. David Baron wrote:
> 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.

I've made this change, and Matt and I have adjusted the peers of the
modules to reflect the split:
https://wiki.mozilla.org/Modules/Core#Layout_Engine
https://wiki.mozilla.org/Modules/Core#Web_Painting

-David
signature.asc
0 new messages