Skip to content
This repository
branch: master

Merge pull request #2808 from schaars/make_check-wpt

adding 2 default arguments to src/test/wpt/; r=jgraham,Ms2ger
latest commit e6f2342036
Ms2ger Ms2ger authored

Descriptions of the Servo source directories. For the most part these represent a single crate or library.

Servo components

  • components/gfx: Graphics rendering, fonts, and text shaping.
  • components/main: The top-level Servo crate. Contains compositing, DOM, layout, and script.
  • components/net: Networking, caching, image decoding.
  • components/util: Various utility functions used by other Servo components.

The Rust compiler

  • compiler/rust: The Rust compiler.

Supporting libraries

These libraries are used in all Servo ports. In keeping with Servo's philosophy of modularity, they are designed to be useful in other Rust projects.

  • support/azure: A cross-platform 2D drawing library from the Mozilla project. Azure can render with Direct2D, Core Graphics (Quartz), Skia, and Cairo.
  • support/css: A low-level CSS parsing library for Rust.
  • support/geom: A simple Euclidean geometry and linear algebra library.
  • support/glut: Bindings to the GLUT windowing framework. This bare-bones windowing framework is useful for testing the engine without browser chrome.
  • support/harfbuzz: A mature Unicode- and OpenType-aware text shaping library, used by many rendering engines and toolkits.
  • support/http-client: An HTTP client library for Rust.
  • support/hubbub: The HTML parser from the NetSurf project. This is a temporary solution for HTML parsing until a pure-Rust solution is available.
  • support/layers: A simple GPU-accelerated 2D scene graph library, somewhat similar to libraries like Clutter.
  • support/libparserutils: A parsing library used by hubbub and netsurfcss.
  • support/opengles: Bindings to OpenGL ES 2.0.
  • support/png: Bindings to libpng.
  • support/sharegl: A library for sharing OpenGL or Direct3D textures between processes.
  • support/skia: Google's accelerated 2D rendering library.
  • support/spidermonkey: Mozilla's JavaScript engine.
  • support/stb-image: A minimalist image decoding library. This is a temporary stopgap for image decoding until a higher-performance solution is available.

Platform-specific bindings


  • platform/linux/rust-fontconfig: Bindings to the fontconfig library.
  • platform/linux/rust-freetype: Bindings to the FreeType library.
  • platform/linux/rust-xlib: Bindings to the X Window System libraries.


  • platform/macos/rust-cocoa: General Cocoa bindings.
  • platform/macos/rust-core-foundation: Bindings to Core Foundation.
  • platform/macos/rust-core-graphics: Bindings to Core Graphics/Quartz.
  • platform/macos/rust-core-text: Bindings to Core Text.
  • platform/macos/rust-io-surface: Bindings to the IOSurface library.
  • platform/macos/rust-task_info: Bindings to task_info().


  • test/harness/contenttest: JavaScript test runner.
  • test/harness/reftest: Reference (layout) test runner.
  • test/html: Test cases.


  • etc: Various scripts and files that don't belong anywhere else.
  • etc/patches: Patches for upstream libraries.
Something went wrong with that request. Please try again.