[package]
edition = "2024"
rust-version = "1.86.0"
name = "servo"
version = "0.1.0"
authors = ["The Servo Project Developers"]
build = false
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A component of the servo web-engine."
readme = "README.md"
license = "MPL-2.0"
repository = "https://github.com/servo/servo"
resolver = "2"
[features]
background_hang_monitor = ["servo-background-hang-monitor/sampler"]
baked-in-resources = ["dep:servo-default-resources"]
bluetooth = [
"servo-bluetooth-traits",
"dep:servo-bluetooth",
"servo-constellation/bluetooth",
"servo-constellation-traits/bluetooth",
"script/bluetooth",
"script_traits/bluetooth",
]
clipboard = ["dep:arboard"]
crown = ["script/crown"]
debugmozjs = ["script/debugmozjs"]
default = [
"baked-in-resources",
"clipboard",
"js_jit",
]
dynamic_freetype = ["webrender/dynamic_freetype"]
gamepad = [
"script/gamepad",
"servo-constellation/gamepad",
"embedder_traits/gamepad",
]
jitspew = ["script/jitspew"]
js_backtrace = ["script/js_backtrace"]
js_jit = ["script/js_jit"]
media-gstreamer = [
"servo-media-gstreamer",
"gstreamer",
]
native-bluetooth = ["servo-bluetooth/native-bluetooth"]
no-wgl = [
"mozangle/egl",
"mozangle/build_dlls",
"surfman/sm-angle-default",
"paint_api/no-wgl",
]
profilemozjs = ["script/profilemozjs"]
refcell_backtrace = ["script/refcell_backtrace"]
testbinding = ["script/testbinding"]
tracing = [
"dep:tracing",
"paint/tracing",
"servo-constellation/tracing",
"fonts/tracing",
"layout/tracing",
"profile_traits/tracing",
"script/tracing",
]
vello = ["servo-constellation/vello"]
webgl_backtrace = [
"script/webgl_backtrace",
"webgl/webgl_backtrace",
"servo-canvas-traits/webgl_backtrace",
]
webgpu = [
"script/webgpu",
"paint/webgpu",
"servo-constellation/webgpu",
"servo-constellation-traits/webgpu",
]
webxr = [
"dep:webxr",
"dep:webxr-api",
"paint/webxr",
"webgl/webxr",
"script/webxr",
]
[lib]
name = "servo"
crate-type = ["rlib"]
path = "lib.rs"
[[example]]
name = "winit_minimal"
path = "examples/winit_minimal.rs"
[[test]]
name = "accessibility"
path = "tests/accessibility.rs"
[[test]]
name = "javascript_evaluator"
path = "tests/javascript_evaluator.rs"
[[test]]
name = "largest_contentful_paint"
path = "tests/largest_contentful_paint.rs"
[[test]]
name = "multiprocess"
path = "tests/multiprocess.rs"
harness = false
[[test]]
name = "network_manager"
path = "tests/network_manager.rs"
[[test]]
name = "performance_paint_timing"
path = "tests/performance_paint_timing.rs"
[[test]]
name = "servo"
path = "tests/servo.rs"
[[test]]
name = "site_data_manager"
path = "tests/site_data_manager.rs"
[[test]]
name = "user_content_manager"
path = "tests/user_content_manager.rs"
[[test]]
name = "webview"
path = "tests/webview.rs"
[dependencies.accesskit]
version = "0.24.0"
features = ["serde"]
[dependencies.bitflags]
version = "2.11"
[dependencies.cookie]
version = "0.18"
package = "cookie"
[dependencies.crossbeam-channel]
version = "0.5"
[dependencies.devtools]
version = "0.1.0"
package = "servo-devtools"
[dependencies.devtools_traits]
version = "0.1.0"
package = "servo-devtools-traits"
[dependencies.dpi]
version = "0.1"
[dependencies.embedder_traits]
version = "0.1.0"
package = "servo-embedder-traits"
[dependencies.env_logger]
version = "0.11"
[dependencies.euclid]
version = "0.22"
[dependencies.fonts]
version = "0.1.0"
package = "servo-fonts"
[dependencies.gstreamer]
version = "0.25"
features = ["v1_18"]
optional = true
[dependencies.image]
version = "0.25"
features = [
"avif",
"rayon",
"bmp",
"gif",
"ico",
"jpeg",
"png",
"webp",
]
default-features = false
[dependencies.ipc-channel]
version = "0.21"
[dependencies.keyboard-types]
version = "0.8.3"
features = [
"serde",
"webdriver",
]
[dependencies.layout]
version = "0.1.0"
package = "servo-layout"
[dependencies.layout_api]
version = "0.1.0"
package = "servo-layout-api"
[dependencies.log]
version = "0.4.29"
[dependencies.media]
version = "0.1.0"
package = "servo-media-thread"
[dependencies.mozangle]
version = "0.5.5"
[dependencies.net]
version = "0.1.0"
package = "servo-net"
[dependencies.net_traits]
version = "0.1.0"
package = "servo-net-traits"
[dependencies.paint]
version = "0.1.0"
package = "servo-paint"
[dependencies.paint_api]
version = "0.1.0"
package = "servo-paint-api"
[dependencies.parking_lot]
version = "0.12"
features = ["serde"]
[dependencies.profile]
version = "0.1.0"
package = "servo-profile"
[dependencies.profile_traits]
version = "0.1.0"
package = "servo-profile-traits"
[dependencies.rustc-hash]
version = "2.1.2"
[dependencies.script]
version = "0.1.0"
package = "servo-script"
[dependencies.script_traits]
version = "0.1.0"
package = "servo-script-traits"
[dependencies.serde]
version = "1.0.228"
[dependencies.servo-background-hang-monitor]
version = "0.1.0"
[dependencies.servo-base]
version = "0.1.0"
[dependencies.servo-bluetooth]
version = "0.1.0"
optional = true
[dependencies.servo-bluetooth-traits]
version = "0.1.0"
optional = true
[dependencies.servo-canvas-traits]
version = "0.1.0"
[dependencies.servo-config]
version = "0.1.0"
[dependencies.servo-constellation]
version = "0.1.0"
[dependencies.servo-constellation-traits]
version = "0.1.0"
[dependencies.servo-geometry]
version = "0.1.0"
[dependencies.servo-media]
version = "0.1.0"
[dependencies.servo-media-dummy]
version = "0.1.0"
[dependencies.servo-media-gstreamer]
version = "0.1.0"
optional = true
[dependencies.servo-tracing]
version = "0.1.0"
[dependencies.servo-url]
version = "0.1.0"
[dependencies.storage]
version = "0.1.0"
package = "servo-storage"
[dependencies.storage_traits]
version = "0.1.0"
package = "servo-storage-traits"
[dependencies.stylo]
version = "0.15.0"
[dependencies.stylo_traits]
version = "0.15.0"
[dependencies.surfman]
version = "0.11.0"
features = ["chains"]
[dependencies.tokio]
version = "1"
features = ["sync"]
[dependencies.tracing]
version = "0.1.44"
optional = true
[dependencies.url]
version = "2.5"
[dependencies.webgl]
version = "0.1.0"
default-features = false
package = "servo-webgl"
[dependencies.webgpu]
version = "0.1.0"
package = "servo-webgpu"
[dependencies.webrender]
version = "0.68"
features = ["capture"]
[dependencies.webrender_api]
version = "0.68"
[dependencies.webxr-api]
version = "0.1.0"
optional = true
package = "servo-webxr-api"
[dev-dependencies.accesskit_consumer]
version = "0.35.0"
[dev-dependencies.http]
version = "1.4"
[dev-dependencies.http-body-util]
version = "0.1"
[dev-dependencies.hyper]
version = "1.8"
[dev-dependencies.net]
version = "0.1.0"
features = ["test-util"]
package = "servo-net"
[dev-dependencies.rustls]
version = "0.23"
default-features = false
[dev-dependencies.tracing]
version = "0.1.44"
[dev-dependencies.winit]
version = "0.30.13"
[target.'cfg(all(not(target_os = "windows"), not(target_os = "ios"), not(target_os = "android"), not(target_env = "ohos"), not(target_arch = "arm"), not(target_arch = "aarch64")))'.dependencies.gaol]
version = "0.2.1"
[target.'cfg(any(target_os = "android", target_env = "ohos"))'.dependencies.webxr]
version = "0.1.0"
optional = true
package = "servo-webxr"
[target.'cfg(not(any(target_os = "android", target_env = "ohos")))'.dependencies.arboard]
version = "3"
optional = true
[target.'cfg(not(any(target_os = "android", target_env = "ohos")))'.dependencies.webxr]
version = "0.1.0"
features = [
"glwindow",
"headless",
]
package = "servo-webxr"
[target.'cfg(not(target_env = "ohos"))'.dependencies.servo-default-resources]
version = "0.1.0"
optional = true
[target.'cfg(target_os = "windows")'.dependencies.webxr]
version = "0.1.0"
features = [
"glwindow",
"headless",
"openxr-api",
]
package = "servo-webxr"