[package] name = "servo-script" build = "build.rs" version.workspace = true authors.workspace = true license.workspace = true edition.workspace = true publish.workspace = true rust-version.workspace = true [lib] name = "script" path = "lib.rs" [features] bluetooth = ['bluetooth_traits', 'script_bindings/bluetooth'] crown = ['js/crown'] debugmozjs = ['js/debugmozjs'] gamepad = ["script_bindings/gamepad", "embedder_traits/gamepad"] jitspew = ['js/jitspew'] js_backtrace = [] js_jit = ["js/jit"] profilemozjs = ['js/profilemozjs'] refcell_backtrace = ["accountable-refcell"] testbinding = ["script_bindings/testbinding"] tracing = ["dep:tracing", "script_bindings/tracing"] webgl_backtrace = ["canvas_traits/webgl_backtrace"] webgpu = ["script_bindings/webgpu", "script_traits/webgpu"] webxr = ["gamepad", "webxr-api", "script_bindings/webxr"] [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(crown)'] } [dependencies] accountable-refcell = { workspace = true, optional = true } aes = { workspace = true } aes-gcm = { workspace = true } aes-kw = { workspace = true } app_units = { workspace = true } argon2 = { workspace = true } arrayvec = { workspace = true } atomic_refcell = { workspace = true } aws-lc-rs = { workspace = true } background_hang_monitor_api = { workspace = true } backtrace = { workspace = true } base = { workspace = true } base64 = { workspace = true } base64ct = { workspace = true } bitflags = { workspace = true } bluetooth_traits = { workspace = true, optional = true } brotli = { workspace = true } canvas_traits = { workspace = true } cbc = { workspace = true } chacha20poly1305 = { workspace = true } chardetng = { workspace = true } chrono = { workspace = true } cipher = { workspace = true } constellation_traits = { workspace = true } content-security-policy = { workspace = true } cookie = { workspace = true } crossbeam-channel = { workspace = true } cssparser = { workspace = true } ctr = { workspace = true } data-url = { workspace = true } deny_public_fields = { package = "servo-deny-public-fields", path = "../deny_public_fields" } der = { workspace = true } devtools_traits = { workspace = true } digest = { workspace = true } dom_struct = { package = "servo-dom-struct", path = "../dom_struct" } ecdsa = { workspace = true } elliptic-curve = { workspace = true } embedder_traits = { workspace = true } encoding_rs = { workspace = true } euclid = { workspace = true } flate2 = { workspace = true } fonts = { package = "servo-fonts", path = "../fonts" } fonts_traits = { workspace = true } glow = { workspace = true } headers = { workspace = true } hkdf = { workspace = true } html5ever = { workspace = true } http = { workspace = true } hyper_serde = { workspace = true } image = { workspace = true } indexmap = { workspace = true } ipc-channel = { workspace = true } itertools = { workspace = true } js = { workspace = true } jstraceable_derive = { package = "servo-jstraceable-derive", path = "../jstraceable_derive" } keyboard-types = { workspace = true } kurbo = { workspace = true } layout_api = { workspace = true } libc = { workspace = true } log = { workspace = true } malloc_size_of = { workspace = true } malloc_size_of_derive = { workspace = true } markup5ever = { workspace = true } media = { package = "servo-media-thread", path = "../media/media-thread" } metrics = { package = "servo-metrics", path = "../metrics" } mime = { workspace = true } mime-multipart-hyper1 = { workspace = true } mime_guess = { workspace = true } ml-dsa = { workspace = true } ml-kem = { workspace = true } net_traits = { workspace = true } nom-rfc8288 = { workspace = true } num-bigint-dig = { workspace = true } num-traits = { workspace = true } num_cpus = { workspace = true } ocb3 = { workspace = true } paint_api = { workspace = true } p256 = { workspace = true } p384 = { workspace = true } p521 = { workspace = true } parking_lot = { workspace = true } percent-encoding = { workspace = true } phf = "0.13" pixels = { package = "servo-pixels", path = "../pixels" } pkcs8 = { workspace = true } postcard = { workspace = true } profile_traits = { workspace = true } rand = { workspace = true } regex = { workspace = true } rsa = { workspace = true } rustc-hash = { workspace = true } script_bindings = { package = "servo-script-bindings", path = "../script_bindings" } script_traits = { workspace = true } sec1 = { workspace = true } selectors = { workspace = true } serde = { workspace = true, features = ["derive"] } serde_json = { workspace = true, features = ["preserve_order"] } servo-media = { workspace = true } servo_arc = { workspace = true } servo_config = { package = "servo-config", path = "../config" } servo_geometry = { package = "servo-geometry", path = "../geometry" } servo_url = { package = "servo-url", path = "../url" } sha1 = { workspace = true } sha2 = { workspace = true } sha3 = { workspace = true } smallvec = { workspace = true } storage_traits = { workspace = true } strum = { workspace = true } stylo = { workspace = true } stylo_atoms = { workspace = true } stylo_dom = { workspace = true } stylo_malloc_size_of = { workspace = true } stylo_traits = { workspace = true } swapper = "0.1" tempfile = "3" tendril = { workspace = true } time = { workspace = true } timers = { package = "servo-timers", path = "../timers" } tracing = { workspace = true, optional = true } unicode-bidi = { workspace = true } unicode-script = { workspace = true } unicode-segmentation = { workspace = true } url = { workspace = true } urlpattern = { workspace = true } utf-8 = { workspace = true } uuid = { workspace = true, features = ["serde"] } webdriver = { workspace = true } webgpu_traits = { workspace = true } webrender_api = { workspace = true } webxr-api = { workspace = true, optional = true } wgpu-core = { workspace = true } wgpu-types = { workspace = true } x25519-dalek = { workspace = true } xml5ever = { workspace = true } xpath = { workspace = true } [target.'cfg(not(target_os = "ios"))'.dependencies] mozangle = { workspace = true }