For example:
<input name="abutton" type="button" value="This is not a button" />
I know this gives me a button. But I also know that someone had to figure out how wide my text was, draw a button of the correct size, place my text in there… etc.
Let’s use Mozilla as an example. I did some googling and found this, so I think I’m on the right track. Still, the first sentence says it all:
Page reorganization: The layout engine used in Mozilla (which is known by many names) started off as a project to write a new layout engine for Mozilla and became the layout engine of Mozilla and the foundation for a nearly-complete rewrite in late 1998.
Confusing.
Here is a list of parts I know exist (from that Mozilla page):
- HTML parser and XML parser
- DOM implementation
- CSS parser and style system
- HTML parser and XML parser
- Code for CSS-based and HTML-based layout and rendering
Can someone explain in layman’s terms how the Mozilla browser model displays a button?
So this is actually a really, really complicated question. I worked on the Mozilla project a couple years ago, here’s how this works to the best of my recollection:
Most modern browsers layout (“reflow” in Mozilla terms) pages incrementally, so all of this is happening sort of all at once as various resources load in, so that’s not totally accurate.
For Mozilla information, I would recommend #developers on irc.mozilla.org. For WebKit information, you can try #webkit on chat.freenode.net.
Note that I’m no longer a Mozilla developer and haven’t had any association with the project since 2008, so it’s entirely possible I’m wrong. Feel free to correct me.