Skip to content

Latest commit

 

History

History
44 lines (35 loc) · 1.76 KB

ORGANIZATION.md

File metadata and controls

44 lines (35 loc) · 1.76 KB

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/contenttest.rs: Content (JavaScript) test runner.
  • tests/content: Content 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.