What exactly is your definition of "box"?
Well, depends on context, but within XUL, -moz-box. Within CSS the Box Model.
OK.
I really have to come back to your remark that the universe is very complex. At various points we're required to simplify. "Exactly" I mean that a frame is a mechanism of some sort that underlies more obvious layout actors like XUL boxes/HTML blocks/CSS.
There is no such mechanism in Mozilla, really. XUL boxes are layout primitives in their own right. CSS boxes are implemented in terms of layout primitives that Mozilla calls "frames", since the term "box" was coopted by XUL boxes. That means that there are in fact two distinct types of layout primitives.
Perhaps that is the source of the confusion here?
then a usefully insightful and comforting answer might go like this:
"there is a system of frames underneath that is responsible for all the more obvious layout primitives, including CSS boxes, and thusly XUL boxes, HTML blocks and most other things, eg tooltips and native widgets.
Per above, such an answer would in fact be false....
Again, XUL layout and non-XUL layout are very very different. You can think of it as two separate layout engines, and that will be a better mental model (though they live in the same layout library).
Opinion from Mozilla developers is divided on whether that is a good recommendation, and various forms of intermixing currently possible don't support it either.
The intermixing is a huge and rather buggy hack. See nsBoxToBlockAdaptor.cpp for details if you care...
Teaching is about concepts, and is not enslaved by technology.
Yes, but teaching is also about presenting something that approximates reality (or rather "truth", since that's a slightly broader concept), to one extent or another. I fail to see how what you seem to want to say about "frames" approximates reality...
Rather than appropriate-without-prejudice, I've tried (sigh) to explain here how useful a term is that ultimately has been coined or appropriated by Mozilla developers.
So perhaps I misunderstood. You want to use the term "frame" for "any layout primitive Mozilla happens to have", ignoring the way the term is actually used in the codebase? That's fine, as long as people don't end up looking at the actual code....
Hence my recommendation that "box" is a better term. The term is used by the CSS specification and by XUL, and people should not be quite as confused to hear a layout primitive described as a "box".
I have no ideology about what a frame is in Mozilla; I just said its a useful concept for helping learners, and if it can be retained in any sense, then that's a good thing to me.
I'm not sure what you mean by "retained"... The concept of layout primitives is hardly going away in a layout engine...
Just because a concept has little use (or is perhaps personally offensive) for your purposes, doesn't mean it's not useful to others.
So far, I've just been trying to determine what exactly you are trying to say. Or rather trying to reconcile my understanding of how the layout engine works with what you are saying. I think that now that I understand that we were using the term "frame" in totally different ways, the discussion is indeed more or less moot -- we're just talking about totally different things.
-Boris
_______________________________________________ Mozilla-layout mailing list [EMAIL PROTECTED] http://mail.mozilla.org/listinfo/mozilla-layout
