blob: b90fae7a969c0323d6bee7cfdba2c87fdfeb6513 (
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
41
42
|
# Servo code organization
## Servo components
* `components/servo`: Servo main program.
* `components/servo/main.rs`: Servo's entry point.
* `components/servo/lib.rs`: libservo entry point.
* `components/canvas`: HTML canvas graphics operations.
* `components/compositing`: The compositor and windowing systems.
* `components/devtools`: Server for remote Firefox developer tools.
* `components/gfx`: Graphics rendering, fonts, and text shaping.
* `components/layout`: The layout system.
* `components/msg`: Message structure definitions for inter-task communication.
* `components/net`: Networking, caching, image decoding.
* `components/plugins`: Various compiler plugins and macros used by the rest of Servo.
* `components/script`: The JavaScript and DOM systems.
* `components/style`: The CSS styling system.
* `components/util`: Various utility functions used by other Servo components.
* `components/*_traits`: Trait definitions to break crate dependencies.
## Supporting libraries
These libraries are either internal but used by Servo or external and need
special integration:
* `support/android`: Android-specific infrastructure.
* `support/android-rs-glue`: Android apk builder.
* `support/rust-task_info`: A binding to the task_info library on OS X.
* `support/time`: A temporary fork of libtime required for Android.
## Tests
* `tests/reftest.rs`: Reference (layout) test runner.
* `tests/ref`: 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.
|