Start collecting documentation, and add an in-tree glossary. Encourage new contributors to add missing entries as appropriate.

This commit is contained in:
Josh Matthews 2016-04-18 12:42:33 -04:00
parent a76af66abb
commit c0524b3c47
5 changed files with 33 additions and 6 deletions

27
docs/glossary.md Normal file
View file

@ -0,0 +1,27 @@
### Compositor ###
The thread that receives input events from the operating system and forwards them to the constellation. It is also in charge of compositing complete renders of web content and displaying them on the screen as fast as possible.
### Constellation ###
The thread that controls a collection of related web content. This could be thought of as an owner of a single tab in a tabbed web browser; it encapsulates session history, knows about all frames in a frame tree, and is the owner of the pipeline for each contained frame.
### Display list ###
TODO
### Layout thread ###
A thread that is responsible for laying out a DOM tree into layers of boxes for a particular document. Receives commands from the script thread to lay out a page and either generate a new display list for use by the renderer thread, or return the results of querying the layout of the page for use by script.
### Pipeline ###
A unit encapsulating a means of communication with the script, layout, and renderer threads for a particular document. Each pipeline has a globally-unique id which can be used to access it from the constellation.
### Script thread (alt. script task) ###
A thread that executes JavaScript and stores the DOM representation of all documents that share a common [origin](https://tools.ietf.org/html/rfc6454). This thread translates input events received from the constellation into DOM events [per the specification](https://w3c.github.io/uievents/), invokes the HTML parser when new page content is received, and evaluates JS for events like timers and `<script>` elements.
### Renderer thread (alt. paint thread) ###
A thread which translates a display list into a series of drawing commands that render the contents of the associated document into a buffer, which is then sent to the compositor.