We want to split layout for several reasons. It is simply too big to start with, requiring way too much resources to build it. When it is split, we can refactor code a lot easier. We can also identify and break unhealthy dependences easier. Some day we will want to use the content part without layout, for example on the server side. And so on... http://bugzilla.mozilla.org/show_bug.cgi?id=43142 I am getting ready to land the changes that will split the layout directory (and DLL) into 2 parts: content and layout. The split was pretty even, the sizes of the binaries are roughly the same. In reality it should perhaps be split into 3 components, one extra being style, because right now the style part is divided between the new content and layout. That may happen later. Right now it builds and runs on Windows and Linux. I will need help from a Mac person to create the Mac makefiles and test it there. The checkin will happen in a carpool. The patches and scripts in the bug are slightly out of date, but I pulled & built today (Tuesday) so I can provide fresh diffs for anyone who would like to help in testing this out (or even provide binaries). MathML & SVG will not build with these changes. It shouldn't be difficult to make them compile (inline a few functions and change NS_New... calls to do_CreateInstance). I would hope the module owners of those components would do those changes, I can help if that is needed. -- Heikki Toivonen
