blob: 9e237010d5cc7ef3a3db3f0180b77bae92a710f6 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
# Servo code organization
## Servo components
* `src/bin.rs`: Servo's entry point
* `src/lib.rs`: libservo entry point
* `components/layout`: The layout system.
* `components/style`: The CSS styling system.
* `components/script`: The JavaScript and DOM systems.
* `components/compositing`: The compositor and windowing systems.
* `components/gfx`: Graphics rendering, fonts, and text shaping.
* `components/net`: Networking, caching, image decoding.
* `components/msg`: Message structure definitions for inter-task communication.
* `components/*_traits`: Trait definitions to break crate dependencies.
* `components/macros`: Macros used by the rest of Servo.
* `components/util`: Various utility functions used by other Servo components.
## Supporting libraries
These libraries are either internal but used by Servo or external and need
special integration:
* `support/glfw-rs`: Wrapping for the GLFW library. Will eventually move to
being completely out of tree.
* `support/rust-task_info`: A binding to the task_info library on OS X.
## Tests
* `tests/contenttest.rs`: Content (JavaScript) test runner
* `tests/contenttest`: Content tests
* `tests/reftest.rs`: Reference (layout) test runner
* `tests/reftest`: Reference tests
* `tests/html`: Manual test cases and examples
* `tests/power`: Tests for measuring power usage
* `tests/wpt`: Web platform tests and harness
## Miscellaneous
* `etc`: Various scripts and files that don't belong anywhere else.
* `etc/patches`: Patches for upstream libraries.
|