Skip to content

Commit c0524b3

Browse files
committed
Start collecting documentation, and add an in-tree glossary. Encourage new contributors to add missing entries as appropriate.
1 parent a76af66 commit c0524b3

File tree

5 files changed

+33
-6
lines changed

5 files changed

+33
-6
lines changed

CONTRIBUTING.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,12 @@ the GitHub issue that you want to work on it. This is to prevent duplicated
1717
efforts from contributors on the same issue.
1818

1919
Head over to [Servo Starters](http://servo.github.io/servo-starters/) to find
20-
good tasks to start with.
20+
good tasks to start with. If you come across words or jargon that do not make
21+
sense, please check [the glossary](docs/glossary.md) first. If there's no
22+
matching entry, please make a pull request to add one with the content `TODO`
23+
so we can correct that!
2124

22-
See [`HACKING_QUICKSTART.md`](HACKING_QUICKSTART.md) for more information
25+
See [`HACKING_QUICKSTART.md`](docs/HACKING_QUICKSTART.md) for more information
2326
on how to start working on Servo.
2427

2528
## Pull Request Checklist
@@ -31,9 +34,6 @@ on how to start working on Servo.
3134
- Commits should be as small as possible, while ensuring that each commit is
3235
correct independently (i.e., each commit should compile and pass tests).
3336

34-
- Don't put submodule updates in your pull request unless they are to landed
35-
commits.
36-
3737
- If your patch is not getting reviewed or you need a specific person to review
3838
it, you can @-reply a reviewer asking for a review in the pull request or a
3939
comment, or you can ask for a review in `#servo` on `irc.mozilla.org`.

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Servo is a prototype web browser engine written in the
77
64bit OS X, 64bit Linux, Android, and Gonk (Firefox OS).
88

99
Servo welcomes contribution from everyone. See
10-
[`CONTRIBUTING.md`](CONTRIBUTING.md) and [`HACKING_QUICKSTART.md`](HACKING_QUICKSTART.md)
10+
[`CONTRIBUTING.md`](CONTRIBUTING.md) and [`HACKING_QUICKSTART.md`](docs/HACKING_QUICKSTART.md)
1111
for help getting started.
1212

1313
Visit the [Servo Project page](https://servo.org/) for news and guides.
File renamed without changes.
File renamed without changes.

docs/glossary.md

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
### Compositor ###
2+
3+
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.
4+
5+
### Constellation ###
6+
7+
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.
8+
9+
### Display list ###
10+
11+
TODO
12+
13+
### Layout thread ###
14+
15+
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.
16+
17+
### Pipeline ###
18+
19+
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.
20+
21+
### Script thread (alt. script task) ###
22+
23+
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.
24+
25+
### Renderer thread (alt. paint thread) ###
26+
27+
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.

0 commit comments

Comments
 (0)