bluetooth — Implementation of the bluetooth thread.
canvas — Implementation of painting threads for 2D and WebGL canvases.
compositing — Integration with OS windowing/rendering and event loop.
constellation — Management of resources for a top-level browsing context (ie. tab).
devtools — In-process server to allow manipulating browser instances via a remote Firefox developer tools client.
fonts — Code for dealing with fonts and text shaping.
layout — Converts page content into positioned, styled boxes and passes the result to the renderer.
layout_thread — Runs the threads for layout, communicates with the script thread, and calls into the layout crate to do the layout.
msg — Shared APIs for communicating between specific threads and crates.
net — Network protocol implementations, and state and resource management (caching, cookies, etc.).
plugins — Syntax extensions, custom attributes, and lints.
profile — Memory and time profilers.
script — Implementation of the DOM (native Rust code and bindings to SpiderMonkey).
script_bindings - Support code and bindings generated from WebIDL files.
The bindings consist of traits representing WebIDL interfaces and glue code for the
SpiderMonkey JavaScript engine.
The actual trait implementations are located in the script crate.
These are split into two crates in order to improve the speed of incremental builds.
script_layout_interface — The API the script crate provides for the layout crate.
selectors — CSS selector matching.
servo — Entry points for the servo application and libservo embedding library.
shared — Shared traits/code used by multiple components that don't want to depend on the main crate for build speed reasons.
style — APIs for parsing CSS and interacting with stylesheets and styled elements.
util — Assorted utility methods and types that are commonly used throughout the project.
webdriver_server — In-process server to allow manipulating browser instances via a WebDriver client.
webgpu — Implementation of threads for the WebGPU API.
etc — Useful tools and scripts for developers.
ports
servoshell — The example browser than uses servo.
python
mach — A command-line tool to help with developer tasks.
servo — Implementations of servo-specific mach commands.
tidy — Python package of code lints that are automatically run before merging changes.
resources — Files used at run time.
Need to be included somehow when distributing binary builds.
support
android — Libraries that require special handling for building for Android platforms
rust-task_info — Library for obtaining information about memory usage for a process
target
debug — Build artifacts generated by ./mach build --debug.
doc — Documentation is generated here by the rustdoc tool when running ./mach doc
release — Build artifacts generated by ./mach build --release.
tests
dromaeo — Harness for automatically running the Dromaeo testsuite.
html — Manual tests and experiments.
jquery — Harness for automatically running the jQuery testsuite.
power — Tools for measurement of power consumption.
unit — Unit tests using rustc’s built-in test harness.
wpt — W3C web-platform-tests and csswg-tests along with tools to run them and expected failures.