L. David Baron wrote:
I propose that we eliminate the "public" and "src" distinction. It's been inconsistently used: we sometimes put all EXPORTS in public, sometimes only those that are intended to be used by other modules, and sometimes even put exports for other modules in src directories. It also tends to make things more difficult to read and edit.
I'm not sure about this. I think a 'public' directory is helpful if we adhere to the rule that files not under the 'layout/' directory can use only those interfaces in 'layout/public'.
(*) Why "nodes"? I don't want to use "frames" because it's a confusing
term to people looking for code that does something. I don't want
"boxes" because that has a specific meaning in XUL (nsIBox), although it
would otherwise be the right term. I originally had corenodes, forms,
tables, and xul* all as subdirectories of layout/nodes/, but that
hides the depth of the structure. I'd rather have a flatter
structure, since it's much easier to find things, and I can't think of
a clear name that says "lots of stuff will be in this subdirectory"
(like netwerk/protocols/).
I hate the term "nodes" and I don't like the other suggestions much better :-). How about this:
layout/html (i.e., your "corenodes")
Then put forms and tables under html:
layout/html/forms
layout/html/table
Also, I think you should put tree and grid under xul:
layout/xul/tree
layout/xul/grid
Rob
