Move *_traits and other shared types to shared

This is the start of the organization of types that are in their own
crates in order to break dependency cycles between other crates. The
idea here is that putting these packages into their own directory is the
first step toward cleaning them up. They have grown organically and it
is difficult to explain to new folks where to put new shared types. Many
of these crates contain more than traits or don't contain traits at all.

Notably, `script_traits` isn't touched because it is vendored from
Gecko. Eventually this will move to `third_party`.
This commit is contained in:
Martin Robinson 2023-10-05 19:47:39 +02:00
parent 863529d962
commit f4d3af296c
89 changed files with 244 additions and 226 deletions

View file

@ -19,20 +19,26 @@ atomic_refcell = "0.1.13"
backtrace = "0.3"
base64 = "0.21.5"
bitflags = "2.4"
bluetooth_traits = { path = "components/shared/bluetooth" }
byteorder = "1.5"
canvas_traits = { path = "components/shared/canvas" }
cfg-if = "1.0.0"
compositing_traits = { path = "components/shared/compositing" }
content-security-policy = { version = "0.5", features = ["serde"] }
cookie = "0.12"
crossbeam-channel = "0.5"
cssparser = "0.29"
darling = { version = "0.13", default-features = false }
data-url = "0.1.0"
devtools_traits = { path = "components/shared/devtools" }
embedder_traits = { path = "components/shared/embedder" }
encoding_rs = "0.8"
env_logger = "0.8"
euclid = "0.22"
fnv = "1.0"
fxhash = "0.2"
getopts = "0.2.11"
gfx_traits = { path = "components/shared/gfx" }
gleam = "0.15"
headers = "0.3"
html5ever = "0.26"
@ -46,6 +52,7 @@ indexmap = { version = "1.0.2", features = ["std"] }
ipc-channel = "0.18"
itertools = "0.10"
keyboard-types = "0.6"
layout_traits = { path = "components/shared/layout" }
lazy_static = "1.4"
libc = "0.2"
log = "0.4"
@ -53,10 +60,13 @@ malloc_size_of_derive = "0.1"
mime = "0.3.13"
mime_guess = "2.0.3"
mozangle = "0.4"
msg = { path = "components/shared/msg" }
net_traits = { path = "components/shared/net" }
num-traits = "0.2"
parking_lot = "0.12"
percent-encoding = "2.0"
proc-macro2 = "1"
profile_traits = { path = "components/shared/profile" }
quote = "1"
rand = "0.8"
rand_core = "0.6"
@ -65,6 +75,8 @@ rayon = "1"
regex = "1.10"
rustls = { version = "0.21.7", features = ["dangerous_configuration"] }
rustls-pemfile = "1.0.3"
script_layout_interface = { path = "components/shared/script_layout" }
script_traits = { path = "components/shared/script" }
serde = "1.0.190"
serde_bytes = "0.11"
serde_json = "1.0"
@ -73,6 +85,7 @@ smallvec = "1.11"
sparkle = "0.1.26"
string_cache = "0.8"
string_cache_codegen = "0.5"
style_traits = { path = "components/style_traits", features = ["servo"] }
# NOTE: the sm-angle feature only enables ANGLE on Windows, not other platforms!
surfman = { version = "0.8", features = ["chains", "sm-angle", "sm-angle-default"] }
syn = { version = "2", default-features = false, features = ["clone-impls", "derive", "parsing"] }
@ -90,6 +103,7 @@ webpki = "0.22"
webpki-roots = "0.25"
webrender = { git = "https://github.com/servo/webrender", features = ["capture"] }
webrender_api = { git = "https://github.com/servo/webrender" }
webrender_traits = { path = "components/shared/webrender" }
winapi = "0.3"
xi-unicode = "0.1.0"
xml5ever = "0.17"

View file

@ -18,7 +18,7 @@ crossbeam-channel = { workspace = true }
ipc-channel = { workspace = true }
libc = { workspace = true }
log = { workspace = true }
msg = { path = "../msg" }
msg = { workspace = true }
serde_json = { workspace = true }
[dev-dependencies]

View file

@ -12,9 +12,9 @@ path = "lib.rs"
[dependencies]
bitflags = { workspace = true }
bluetooth_traits = { path = "../bluetooth_traits" }
bluetooth_traits = { workspace = true }
device = { git = "https://github.com/servo/devices", features = ["bluetooth-test"], rev = "cb28c4725ffbfece99dab842d17d3e8c50774778" }
embedder_traits = { path = "../embedder_traits" }
embedder_traits = { workspace = true }
ipc-channel = { workspace = true }
log = { workspace = true }
servo_config = { path = "../config" }

View file

@ -18,7 +18,7 @@ xr-profile = ["webxr-api/profile", "time"]
[dependencies]
bitflags = { workspace = true }
byteorder = { workspace = true }
canvas_traits = { path = "../canvas_traits" }
canvas_traits = { workspace = true }
crossbeam-channel = { workspace = true }
cssparser = { workspace = true }
euclid = { workspace = true }
@ -38,12 +38,12 @@ servo_arc = { path = "../servo_arc" }
servo_config = { path = "../config" }
sparkle = { workspace = true }
style = { path = "../style" }
style_traits = { path = "../style_traits" }
style_traits = { workspace = true }
surfman = { workspace = true }
time = { workspace = true, optional = true }
webrender = { workspace = true }
webrender_api = { workspace = true }
webrender_surfman = { path = "../webrender_surfman" }
webrender_traits = { path = "../webrender_traits" }
webrender_traits = { workspace = true }
webxr-api = { git = "https://github.com/servo/webxr", features = ["ipc"] }
webxr = { git = "https://github.com/servo/webxr", features = ["ipc"] }

View file

@ -17,29 +17,29 @@ gl = ["gleam", "pixels"]
[dependencies]
canvas = { path = "../canvas" }
compositing_traits = { path = "../compositing_traits" }
compositing_traits = { workspace = true }
crossbeam-channel = { workspace = true }
embedder_traits = { path = "../embedder_traits" }
embedder_traits = { workspace = true }
euclid = { workspace = true }
fnv = { workspace = true }
gfx_traits = { path = "../gfx_traits" }
gfx_traits = { workspace = true }
gleam = { workspace = true, optional = true }
image = { workspace = true }
ipc-channel = { workspace = true }
keyboard-types = { workspace = true }
libc = { workspace = true }
log = { workspace = true }
msg = { path = "../msg" }
net_traits = { path = "../net_traits" }
msg = { workspace = true }
net_traits = { workspace = true }
num-traits = { workspace = true }
pixels = { path = "../pixels", optional = true }
profile_traits = { path = "../profile_traits" }
script_traits = { path = "../script_traits" }
profile_traits = { workspace = true }
script_traits = { workspace = true }
servo_config = { path = "../config" }
servo-media = { git = "https://github.com/servo/media" }
servo_geometry = { path = "../geometry" }
servo_url = { path = "../url" }
style_traits = { path = "../style_traits" }
style_traits = { workspace = true }
time = { workspace = true }
webrender = { workspace = true }
webrender_api = { workspace = true }

View file

@ -11,7 +11,7 @@ name = "servo_config"
path = "lib.rs"
[dependencies]
embedder_traits = { path = "../embedder_traits" }
embedder_traits = { workspace = true }
euclid = { workspace = true }
getopts = { workspace = true }
lazy_static = { workspace = true }

View file

@ -13,38 +13,38 @@ path = "lib.rs"
[dependencies]
background_hang_monitor = { path = "../background_hang_monitor" }
backtrace = { workspace = true }
bluetooth_traits = { path = "../bluetooth_traits" }
canvas_traits = { path = "../canvas_traits" }
compositing_traits = { path = "../compositing_traits" }
bluetooth_traits = { workspace = true }
canvas_traits = { workspace = true }
compositing_traits = { workspace = true }
crossbeam-channel = { workspace = true }
devtools_traits = { path = "../devtools_traits" }
embedder_traits = { path = "../embedder_traits" }
devtools_traits = { workspace = true }
embedder_traits = { workspace = true }
euclid = { workspace = true }
gfx = { path = "../gfx" }
gfx_traits = { path = "../gfx_traits" }
gfx_traits = { workspace = true }
http = { workspace = true }
headers = { workspace = true }
ipc-channel = { workspace = true }
keyboard-types = { workspace = true }
layout_traits = { path = "../layout_traits" }
layout_traits = { workspace = true }
log = { workspace = true }
media = { path = "../media" }
metrics = { path = "../metrics" }
msg = { path = "../msg" }
msg = { workspace = true }
net = { path = "../net" }
net_traits = { path = "../net_traits" }
profile_traits = { path = "../profile_traits" }
script_traits = { path = "../script_traits" }
net_traits = { workspace = true }
profile_traits = { workspace = true }
script_traits = { workspace = true }
serde = { workspace = true }
servo_config = { path = "../config" }
servo_rand = { path = "../rand" }
servo_remutex = { path = "../remutex" }
servo_url = { path = "../url" }
style_traits = { path = "../style_traits" }
style_traits = { workspace = true }
webgpu = { path = "../webgpu" }
webrender = { workspace = true }
webrender_api = { workspace = true }
webrender_traits = { path = "../webrender_traits" }
webrender_traits = { workspace = true }
webxr-api = { git = "https://github.com/servo/webxr", features = ["ipc"] }
[target.'cfg(any(target_os="macos", all(not(target_os = "windows"), not(target_os = "ios"), not(target_os="android"), not(target_arch="arm"), not(target_arch="aarch64"))))'.dependencies]

View file

@ -12,13 +12,13 @@ path = "lib.rs"
[dependencies]
crossbeam-channel = { workspace = true }
devtools_traits = { path = "../devtools_traits" }
embedder_traits = { path = "../embedder_traits" }
devtools_traits = { workspace = true }
embedder_traits = { workspace = true }
headers = { workspace = true }
http = { workspace = true }
ipc-channel = { workspace = true }
log = { workspace = true }
msg = { path = "../msg" }
msg = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
servo_config = { path = "../config" }

View file

@ -19,14 +19,14 @@ bitflags = { workspace = true }
euclid = { workspace = true }
fnv = { workspace = true }
fontsan = { git = "https://github.com/servo/fontsan" }
gfx_traits = { path = "../gfx_traits" }
gfx_traits = { workspace = true }
harfbuzz-sys = "0.5"
ipc-channel = { workspace = true }
lazy_static = { workspace = true }
libc = { workspace = true }
log = { workspace = true }
malloc_size_of = { path = "../malloc_size_of" }
net_traits = { path = "../net_traits" }
net_traits = { workspace = true }
range = { path = "../range" }
serde = { workspace = true }
servo_arc = { path = "../servo_arc" }

View file

@ -16,27 +16,27 @@ doctest = false
app_units = { workspace = true }
atomic_refcell = { workspace = true }
bitflags = { workspace = true }
canvas_traits = { path = "../canvas_traits" }
embedder_traits = { path = "../embedder_traits" }
canvas_traits = { workspace = true }
embedder_traits = { workspace = true }
euclid = { workspace = true }
fnv = { workspace = true }
gfx = { path = "../gfx" }
gfx_traits = { path = "../gfx_traits" }
gfx_traits = { workspace = true }
html5ever = { workspace = true }
ipc-channel = { workspace = true }
lazy_static = { workspace = true }
libc = { workspace = true }
log = { workspace = true }
malloc_size_of = { path = "../malloc_size_of" }
msg = { path = "../msg" }
net_traits = { path = "../net_traits" }
msg = { workspace = true }
net_traits = { workspace = true }
num-traits = { workspace = true }
parking_lot = { workspace = true }
profile_traits = { path = "../profile_traits" }
profile_traits = { workspace = true }
range = { path = "../range" }
rayon = { workspace = true }
script_layout_interface = { path = "../script_layout_interface" }
script_traits = { path = "../script_traits" }
script_layout_interface = { workspace = true }
script_traits = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
servo_arc = { path = "../servo_arc" }
@ -47,7 +47,7 @@ servo_url = { path = "../url" }
size_of_test = { path = "../size_of_test" }
smallvec = { workspace = true, features = ["union"] }
style = { path = "../style", features = ["servo"] }
style_traits = { path = "../style_traits" }
style_traits = { workspace = true }
unicode-bidi = { workspace = true, features = ["with_serde"] }
unicode-script = { workspace = true }
webrender_api = { workspace = true }

View file

@ -15,33 +15,33 @@ doctest = false
[dependencies]
app_units = { workspace = true }
atomic_refcell = { workspace = true }
canvas_traits = { path = "../canvas_traits" }
canvas_traits = { workspace = true }
bitflags = { workspace = true }
cssparser = { workspace = true }
embedder_traits = { path = "../embedder_traits" }
embedder_traits = { workspace = true }
euclid = { workspace = true }
fnv = { workspace = true }
fxhash = { workspace = true }
gfx = { path = "../gfx" }
gfx_traits = { path = "../gfx_traits" }
gfx_traits = { workspace = true }
html5ever = { workspace = true }
ipc-channel = { workspace = true }
libc = { workspace = true }
log = { workspace = true }
msg = { path = "../msg" }
net_traits = { path = "../net_traits" }
msg = { workspace = true }
net_traits = { workspace = true }
parking_lot = { workspace = true }
range = { path = "../range" }
rayon = { workspace = true }
script_layout_interface = { path = "../script_layout_interface" }
script_traits = { path = "../script_traits" }
script_layout_interface = { workspace = true }
script_traits = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
servo_arc = { path = "../servo_arc" }
servo_config = { path = "../config" }
servo_url = { path = "../url" }
style = { path = "../style", features = ["servo"] }
style_traits = { path = "../style_traits" }
style_traits = { workspace = true }
unicode-script = { workspace = true }
webrender_api = { workspace = true }
xi-unicode = { workspace = true }

View file

@ -14,31 +14,31 @@ path = "lib.rs"
app_units = { workspace = true }
atomic_refcell = { workspace = true }
crossbeam-channel = { workspace = true }
embedder_traits = { path = "../embedder_traits" }
embedder_traits = { workspace = true }
euclid = { workspace = true }
fnv = { workspace = true }
fxhash = { workspace = true }
gfx = { path = "../gfx" }
gfx_traits = { path = "../gfx_traits" }
gfx_traits = { workspace = true }
histogram = "0.6.8"
html5ever = { workspace = true }
ipc-channel = { workspace = true }
layout = { path = "../layout", package = "layout_2013" }
layout_traits = { path = "../layout_traits" }
layout_traits = { workspace = true }
lazy_static = { workspace = true }
libc = { workspace = true }
log = { workspace = true }
malloc_size_of = { path = "../malloc_size_of" }
metrics = { path = "../metrics" }
msg = { path = "../msg" }
net_traits = { path = "../net_traits" }
msg = { workspace = true }
net_traits = { workspace = true }
parking_lot = { workspace = true }
profile_traits = { path = "../profile_traits" }
profile_traits = { workspace = true }
range = { path = "../range" }
rayon = { workspace = true }
script = { path = "../script" }
script_layout_interface = { path = "../script_layout_interface" }
script_traits = { path = "../script_traits" }
script_layout_interface = { workspace = true }
script_traits = { workspace = true }
selectors = { path = "../selectors", features = ["shmem"] }
serde_json = { workspace = true }
servo_allocator = { path = "../allocator" }
@ -47,6 +47,6 @@ servo_atoms = { path = "../atoms" }
servo_config = { path = "../config" }
servo_url = { path = "../url" }
style = { path = "../style" }
style_traits = { path = "../style_traits" }
style_traits = { workspace = true }
time = { workspace = true }
webrender_api = { workspace = true }

View file

@ -14,29 +14,29 @@ path = "lib.rs"
app_units = { workspace = true }
atomic_refcell = { workspace = true }
crossbeam-channel = { workspace = true }
embedder_traits = { path = "../embedder_traits" }
embedder_traits = { workspace = true }
euclid = { workspace = true }
fnv = { workspace = true }
fxhash = { workspace = true }
gfx = { path = "../gfx" }
gfx_traits = { path = "../gfx_traits" }
gfx_traits = { workspace = true }
html5ever = { workspace = true }
ipc-channel = { workspace = true }
layout = { path = "../layout_2020", package = "layout_2020" }
layout_traits = { path = "../layout_traits" }
layout_traits = { workspace = true }
lazy_static = { workspace = true }
libc = { workspace = true }
log = { workspace = true }
malloc_size_of = { path = "../malloc_size_of" }
metrics = { path = "../metrics" }
msg = { path = "../msg" }
net_traits = { path = "../net_traits" }
msg = { workspace = true }
net_traits = { workspace = true }
parking_lot = { workspace = true }
profile_traits = { path = "../profile_traits" }
profile_traits = { workspace = true }
range = { path = "../range" }
script = { path = "../script" }
script_layout_interface = { path = "../script_layout_interface" }
script_traits = { path = "../script_traits" }
script_layout_interface = { workspace = true }
script_traits = { workspace = true }
selectors = { path = "../selectors", features = ["shmem"] }
servo_allocator = { path = "../allocator" }
servo_arc = { path = "../servo_arc" }
@ -44,5 +44,5 @@ servo_atoms = { path = "../atoms" }
servo_config = { path = "../config" }
servo_url = { path = "../url" }
style = { path = "../style" }
style_traits = { path = "../style_traits" }
style_traits = { workspace = true }
webrender_api = { workspace = true }

View file

@ -20,4 +20,4 @@ serde = { workspace = true }
servo-media = { git = "https://github.com/servo/media" }
servo_config = { path = "../config" }
webrender_api = { workspace = true }
webrender_traits = { path = "../webrender_traits" }
webrender_traits = { workspace = true }

View file

@ -11,14 +11,14 @@ name = "metrics"
path = "lib.rs"
[dependencies]
gfx_traits = { path = "../gfx_traits" }
gfx_traits = { workspace = true }
ipc-channel = { workspace = true }
log = { workspace = true }
malloc_size_of = { path = "../malloc_size_of" }
malloc_size_of_derive = { workspace = true }
msg = { path = "../msg" }
profile_traits = { path = "../profile_traits" }
script_traits = { path = "../script_traits" }
msg = { workspace = true }
profile_traits = { workspace = true }
script_traits = { workspace = true }
servo_config = { path = "../config" }
servo_url = { path = "../url" }
time = { workspace = true }

View file

@ -23,8 +23,8 @@ content-security-policy = { workspace = true }
cookie_rs = { package = "cookie", version = "0.12" }
crossbeam-channel = { workspace = true }
data-url = { workspace = true }
devtools_traits = { path = "../devtools_traits" }
embedder_traits = { path = "../embedder_traits" }
devtools_traits = { workspace = true }
embedder_traits = { workspace = true }
flate2 = "1"
futures = { version = "0.3", package = "futures" }
futures-util = { version = "0.3" }
@ -43,11 +43,11 @@ malloc_size_of = { path = "../malloc_size_of" }
malloc_size_of_derive = { workspace = true }
mime = { workspace = true }
mime_guess = { workspace = true }
msg = { path = "../msg" }
net_traits = { path = "../net_traits" }
msg = { workspace = true }
net_traits = { workspace = true }
percent-encoding = { workspace = true }
pixels = { path = "../pixels" }
profile_traits = { path = "../profile_traits" }
profile_traits = { workspace = true }
rayon = { workspace = true }
rustls = { workspace = true }
rustls-pemfile = { workspace = true }

View file

@ -12,7 +12,7 @@ path = "lib.rs"
[dependencies]
ipc-channel = { workspace = true }
profile_traits = { path = "../profile_traits" }
profile_traits = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
servo_config = { path = "../config" }

View file

@ -37,8 +37,8 @@ atomic_refcell = { workspace = true }
backtrace = { workspace = true }
base64 = { workspace = true }
bitflags = { workspace = true }
bluetooth_traits = { path = "../bluetooth_traits" }
canvas_traits = { path = "../canvas_traits" }
bluetooth_traits = { workspace = true }
canvas_traits = { workspace = true }
chrono = "0.4"
content-security-policy = { workspace = true }
cookie = { workspace = true }
@ -46,16 +46,16 @@ crossbeam-channel = { workspace = true }
cssparser = { workspace = true }
data-url = { workspace = true }
deny_public_fields = { path = "../deny_public_fields" }
devtools_traits = { path = "../devtools_traits" }
devtools_traits = { workspace = true }
dom_struct = { path = "../dom_struct" }
domobject_derive = { path = "../domobject_derive" }
embedder_traits = { path = "../embedder_traits" }
embedder_traits = { workspace = true }
encoding_rs = { workspace = true }
enum-iterator = "0.3"
euclid = { workspace = true }
fnv = { workspace = true }
fxhash = { workspace = true }
gfx_traits = { path = "../gfx_traits" }
gfx_traits = { workspace = true }
headers = { workspace = true }
html5ever = { workspace = true }
http = { workspace = true }
@ -76,20 +76,20 @@ media = { path = "../media" }
metrics = { path = "../metrics" }
mime = { workspace = true }
mime_guess = { workspace = true }
msg = { path = "../msg" }
net_traits = { path = "../net_traits" }
msg = { workspace = true }
net_traits = { workspace = true }
num-traits = { workspace = true }
parking_lot = { workspace = true }
percent-encoding = { workspace = true }
phf = "0.10"
pixels = { path = "../pixels" }
profile_traits = { path = "../profile_traits" }
profile_traits = { workspace = true }
range = { path = "../range" }
ref_filter_map = "1.0.1"
regex = { workspace = true }
script_layout_interface = { path = "../script_layout_interface" }
script_layout_interface = { workspace = true }
script_plugins = { path = "../script_plugins" }
script_traits = { path = "../script_traits" }
script_traits = { workspace = true }
selectors = { path = "../selectors", features = ["shmem"] }
serde = { workspace = true, features = ["derive"] }
serde_bytes = { workspace = true }
@ -104,7 +104,7 @@ servo_url = { path = "../url" }
smallvec = { workspace = true, features = ["union"] }
sparkle = { workspace = true }
style = { path = "../style", features = ["servo"] }
style_traits = { path = "../style_traits" }
style_traits = { workspace = true }
swapper = "0.1"
tempfile = "3"
tendril = { version = "0.4.1", features = ["encoding_rs"] }

View file

@ -1,39 +0,0 @@
[package]
name = "script_layout_interface"
version = "0.0.1"
authors = ["The Servo Project Developers"]
license = "MPL-2.0"
edition = "2018"
publish = false
[lib]
name = "script_layout_interface"
path = "lib.rs"
[dependencies]
app_units = { workspace = true }
atomic_refcell = { workspace = true }
canvas_traits = { path = "../canvas_traits" }
crossbeam-channel = { workspace = true }
euclid = { workspace = true }
fxhash = { workspace = true }
gfx_traits = { path = "../gfx_traits" }
html5ever = { workspace = true }
ipc-channel = { workspace = true }
libc = { workspace = true }
malloc_size_of = { path = "../malloc_size_of" }
malloc_size_of_derive = { workspace = true }
metrics = { path = "../metrics" }
msg = { path = "../msg" }
net_traits = { path = "../net_traits" }
parking_lot = { workspace = true }
profile_traits = { path = "../profile_traits" }
range = { path = "../range" }
script_traits = { path = "../script_traits" }
selectors = { path = "../selectors", features = ["shmem"] }
servo_arc = { path = "../servo_arc" }
servo_atoms = { path = "../atoms" }
servo_url = { path = "../url" }
style = { path = "../style", features = ["servo"] }
style_traits = { path = "../style_traits", features = ["servo"] }
webrender_api = { git = "https://github.com/servo/webrender" }

View file

@ -34,20 +34,20 @@ xr-profile = ["canvas/xr-profile", "canvas_traits/xr-profile", "script/xr-profil
[dependencies]
background_hang_monitor = { path = "../background_hang_monitor" }
bluetooth = { path = "../bluetooth" }
bluetooth_traits = { path = "../bluetooth_traits" }
bluetooth_traits = { workspace = true }
canvas = { path = "../canvas", default-features = false }
canvas_traits = { path = "../canvas_traits" }
canvas_traits = { workspace = true }
compositing = { path = "../compositing", features = ["gl"] }
compositing_traits = { path = "../compositing_traits" }
compositing_traits = { workspace = true }
constellation = { path = "../constellation" }
crossbeam-channel = { workspace = true }
devtools = { path = "../devtools" }
devtools_traits = { path = "../devtools_traits" }
embedder_traits = { path = "../embedder_traits" }
devtools_traits = { workspace = true }
embedder_traits = { workspace = true }
env_logger = { workspace = true }
euclid = { workspace = true }
gfx = { path = "../gfx" }
gfx_traits = { path = "../gfx_traits" }
gfx_traits = { workspace = true }
gleam = { workspace = true }
gstreamer = { version = "0.15", features = ["v1_16"], optional = true }
ipc-channel = { workspace = true }
@ -57,14 +57,14 @@ layout_thread_2020 = { path = "../layout_thread_2020" }
log = { workspace = true }
media = { path = "../media" }
mozangle = { workspace = true }
msg = { path = "../msg" }
msg = { workspace = true }
net = { path = "../net" }
net_traits = { path = "../net_traits" }
net_traits = { workspace = true }
profile = { path = "../profile" }
profile_traits = { path = "../profile_traits" }
profile_traits = { workspace = true }
script = { path = "../script" }
script_layout_interface = { path = "../script_layout_interface" }
script_traits = { path = "../script_traits" }
script_layout_interface = { workspace = true }
script_traits = { workspace = true }
servo-media = { git = "https://github.com/servo/media" }
servo-media-dummy = { git = "https://github.com/servo/media" }
servo-media-gstreamer = { git = "https://github.com/servo/media", optional = true }
@ -73,14 +73,14 @@ servo_geometry = { path = "../geometry" }
servo_url = { path = "../url" }
sparkle = { workspace = true }
style = { path = "../style", features = ["servo"] }
style_traits = { path = "../style_traits", features = ["servo"] }
style_traits = { workspace = true }
surfman = { workspace = true }
webdriver_server = { path = "../webdriver_server", optional = true }
webgpu = { path = "../webgpu" }
webrender = { workspace = true }
webrender_api = { workspace = true }
webrender_surfman = { path = "../webrender_surfman" }
webrender_traits = { path = "../webrender_traits" }
webrender_traits = { workspace = true }
webxr = { git = "https://github.com/servo/webxr" }
webxr-api = { git = "https://github.com/servo/webxr" }

View file

@ -11,7 +11,7 @@ name = "bluetooth_traits"
path = "lib.rs"
[dependencies]
embedder_traits = { path = "../embedder_traits" }
embedder_traits = { workspace = true }
ipc-channel = { workspace = true }
regex = { workspace = true }
serde = { workspace = true }

View file

@ -20,14 +20,14 @@ cssparser = { workspace = true }
euclid = { workspace = true }
ipc-channel = { workspace = true }
lazy_static = { workspace = true }
malloc_size_of = { path = "../malloc_size_of" }
malloc_size_of = { path = "../../malloc_size_of" }
malloc_size_of_derive = { workspace = true }
pixels = { path = "../pixels" }
pixels = { path = "../../pixels" }
serde = { workspace = true }
serde_bytes = { workspace = true }
servo_config = { path = "../config" }
servo_config = { path = "../../config" }
sparkle = { workspace = true }
style = { path = "../style" }
style = { path = "../../style" }
time = { workspace = true, optional = true }
webrender_api = { workspace = true }
webxr-api = { git = "https://github.com/servo/webxr", features = ["ipc"] }

View file

@ -11,19 +11,19 @@ name = "compositing_traits"
path = "lib.rs"
[dependencies]
canvas = { path = "../canvas" }
canvas = { path = "../../canvas" }
crossbeam-channel = { workspace = true }
embedder_traits = { path = "../embedder_traits" }
embedder_traits = { workspace = true }
euclid = { workspace = true }
gfx_traits = { path = "../gfx_traits" }
gfx_traits = { workspace = true }
ipc-channel = { workspace = true }
keyboard-types = { workspace = true }
log = { workspace = true }
msg = { path = "../msg" }
net_traits = { path = "../net_traits" }
profile_traits = { path = "../profile_traits" }
script_traits = { path = "../script_traits" }
servo_url = { path = "../url" }
style_traits = { path = "../style_traits" }
msg = { workspace = true }
net_traits = { workspace = true }
profile_traits = { workspace = true }
script_traits = { workspace = true }
servo_url = { path = "../../url" }
style_traits = { workspace = true }
webrender_api = { workspace = true }
webrender_surfman = { path = "../webrender_surfman" }
webrender_surfman = { path = "../../webrender_surfman" }

View file

@ -15,10 +15,10 @@ bitflags = { workspace = true }
headers = { workspace = true }
http = { workspace = true }
ipc-channel = { workspace = true }
malloc_size_of = { path = "../malloc_size_of" }
malloc_size_of = { path = "../../malloc_size_of" }
malloc_size_of_derive = { workspace = true }
msg = { path = "../msg" }
msg = { workspace = true }
serde = { workspace = true }
servo_url = { path = "../url" }
servo_url = { path = "../../url" }
time = { workspace = true }
uuid = { workspace = true, features = ["serde"] }

View file

@ -17,10 +17,10 @@ ipc-channel = { workspace = true }
keyboard-types = { workspace = true }
lazy_static = { workspace = true }
log = { workspace = true }
msg = { path = "../msg" }
msg = { workspace = true }
num-derive = "0.3"
num-traits = { workspace = true }
serde = { workspace = true }
servo_url = { path = "../url" }
servo_url = { path = "../../url" }
webrender_api = { workspace = true }
webxr-api = { git = "https://github.com/servo/webxr", features = ["ipc"] }

View file

@ -118,30 +118,34 @@ fn resources_for_tests() -> Box<dyn ResourceReaderMethods + Sync + Send> {
}
fn read(&self, file: Resource) -> Vec<u8> {
match file {
Resource::Preferences => &include_bytes!("../../resources/prefs.json")[..],
Resource::Preferences => &include_bytes!("../../../resources/prefs.json")[..],
Resource::BluetoothBlocklist => {
&include_bytes!("../../resources/gatt_blocklist.txt")[..]
&include_bytes!("../../../resources/gatt_blocklist.txt")[..]
},
Resource::DomainList => {
&include_bytes!("../../../resources/public_domains.txt")[..]
},
Resource::DomainList => &include_bytes!("../../resources/public_domains.txt")[..],
Resource::HstsPreloadList => {
&include_bytes!("../../resources/hsts_preload.json")[..]
&include_bytes!("../../../resources/hsts_preload.json")[..]
},
Resource::BadCertHTML => &include_bytes!("../../resources/badcert.html")[..],
Resource::NetErrorHTML => &include_bytes!("../../resources/neterror.html")[..],
Resource::UserAgentCSS => &include_bytes!("../../resources/user-agent.css")[..],
Resource::ServoCSS => &include_bytes!("../../resources/servo.css")[..],
Resource::BadCertHTML => &include_bytes!("../../../resources/badcert.html")[..],
Resource::NetErrorHTML => &include_bytes!("../../../resources/neterror.html")[..],
Resource::UserAgentCSS => &include_bytes!("../../../resources/user-agent.css")[..],
Resource::ServoCSS => &include_bytes!("../../../resources/servo.css")[..],
Resource::PresentationalHintsCSS => {
&include_bytes!("../../resources/presentational-hints.css")[..]
&include_bytes!("../../../resources/presentational-hints.css")[..]
},
Resource::QuirksModeCSS => &include_bytes!("../../resources/quirks-mode.css")[..],
Resource::RippyPNG => &include_bytes!("../../resources/rippy.png")[..],
Resource::QuirksModeCSS => {
&include_bytes!("../../../resources/quirks-mode.css")[..]
},
Resource::RippyPNG => &include_bytes!("../../../resources/rippy.png")[..],
Resource::MediaControlsCSS => {
&include_bytes!("../../resources/media-controls.css")[..]
&include_bytes!("../../../resources/media-controls.css")[..]
},
Resource::MediaControlsJS => {
&include_bytes!("../../resources/media-controls.js")[..]
&include_bytes!("../../../resources/media-controls.js")[..]
},
Resource::CrashHTML => &include_bytes!("../../resources/crash.html")[..],
Resource::CrashHTML => &include_bytes!("../../../resources/crash.html")[..],
}
.to_owned()
}

View file

@ -11,8 +11,8 @@ name = "gfx_traits"
path = "lib.rs"
[dependencies]
malloc_size_of = { path = "../malloc_size_of" }
malloc_size_of = { path = "../../malloc_size_of" }
malloc_size_of_derive = { workspace = true }
range = { path = "../range" }
range = { path = "../../range" }
serde = { workspace = true }
webrender_api = { workspace = true }

View file

@ -12,12 +12,12 @@ path = "lib.rs"
[dependencies]
crossbeam-channel = { workspace = true }
gfx = { path = "../gfx" }
gfx = { path = "../../gfx" }
ipc-channel = { workspace = true }
metrics = { path = "../metrics" }
msg = { path = "../msg" }
net_traits = { path = "../net_traits" }
profile_traits = { path = "../profile_traits" }
script_traits = { path = "../script_traits" }
servo_url = { path = "../url" }
metrics = { path = "../../metrics" }
msg = { workspace = true }
net_traits = { workspace = true }
profile_traits = { workspace = true }
script_traits = { workspace = true }
servo_url = { path = "../../url" }
webrender_api = { workspace = true }

View file

@ -15,9 +15,9 @@ doctest = false
[dependencies]
ipc-channel = { workspace = true }
lazy_static = { workspace = true }
malloc_size_of = { path = "../malloc_size_of" }
malloc_size_of = { path = "../../malloc_size_of" }
malloc_size_of_derive = { workspace = true }
parking_lot = { workspace = true }
serde = { workspace = true }
size_of_test = { path = "../size_of_test" }
size_of_test = { path = "../../size_of_test" }
webrender_api = { workspace = true }

View file

@ -15,7 +15,7 @@ doctest = false
[dependencies]
content-security-policy = { workspace = true }
cookie = { workspace = true }
embedder_traits = { path = "../embedder_traits" }
embedder_traits = { workspace = true }
headers = { workspace = true }
http = { workspace = true }
hyper = { workspace = true }
@ -24,18 +24,18 @@ image = { workspace = true }
ipc-channel = { workspace = true }
lazy_static = { workspace = true }
log = { workspace = true }
malloc_size_of = { path = "../malloc_size_of" }
malloc_size_of = { path = "../../malloc_size_of" }
malloc_size_of_derive = { workspace = true }
mime = { workspace = true }
msg = { path = "../msg" }
msg = { workspace = true }
num-traits = { workspace = true }
percent-encoding = { workspace = true }
pixels = { path = "../pixels" }
pixels = { path = "../../pixels" }
rustls = { workspace = true }
serde = { workspace = true }
servo_arc = { path = "../servo_arc" }
servo_rand = { path = "../rand" }
servo_url = { path = "../url" }
servo_arc = { path = "../../servo_arc" }
servo_rand = { path = "../../rand" }
servo_url = { path = "../../url" }
time = { workspace = true }
url = { workspace = true }
uuid = { workspace = true }

View file

@ -15,6 +15,6 @@ crossbeam-channel = { workspace = true }
ipc-channel = { workspace = true }
log = { workspace = true }
serde = { workspace = true }
servo_config = { path = "../config" }
servo_config = { path = "../../config" }
signpost = { git = "https://github.com/pcwalton/signpost.git" }
time = { workspace = true }

View file

@ -12,14 +12,14 @@ path = "lib.rs"
[dependencies]
bitflags = { workspace = true }
bluetooth_traits = { path = "../bluetooth_traits" }
canvas_traits = { path = "../canvas_traits" }
bluetooth_traits = { workspace = true }
canvas_traits = { workspace = true }
cookie = { workspace = true }
crossbeam-channel = { workspace = true }
devtools_traits = { path = "../devtools_traits" }
embedder_traits = { path = "../embedder_traits" }
devtools_traits = { workspace = true }
embedder_traits = { workspace = true }
euclid = { workspace = true }
gfx_traits = { path = "../gfx_traits" }
gfx_traits = { workspace = true }
headers = { workspace = true }
http = { workspace = true }
hyper_serde = { workspace = true }
@ -27,21 +27,21 @@ ipc-channel = { workspace = true }
keyboard-types = { workspace = true }
libc = { workspace = true }
log = { workspace = true }
malloc_size_of = { path = "../malloc_size_of" }
malloc_size_of = { path = "../../malloc_size_of" }
malloc_size_of_derive = { workspace = true }
media = { path = "../media" }
msg = { path = "../msg" }
net_traits = { path = "../net_traits" }
pixels = { path = "../pixels" }
profile_traits = { path = "../profile_traits" }
media = { path = "../../media" }
msg = { workspace = true }
net_traits = { workspace = true }
pixels = { path = "../../pixels" }
profile_traits = { workspace = true }
serde = { workspace = true }
servo_atoms = { path = "../atoms" }
servo_url = { path = "../url" }
servo_atoms = { path = "../../atoms" }
servo_url = { path = "../../url" }
smallvec = { workspace = true }
style_traits = { path = "../style_traits", features = ["servo"] }
style_traits = { workspace = true }
time = { workspace = true }
uuid = { workspace = true }
webdriver = { workspace = true }
webgpu = { path = "../webgpu" }
webgpu = { path = "../../webgpu" }
webrender_api = { workspace = true }
webxr-api = { git = "https://github.com/servo/webxr", features = ["ipc"] }

View file

@ -0,0 +1,39 @@
[package]
name = "script_layout_interface"
version = "0.0.1"
authors = ["The Servo Project Developers"]
license = "MPL-2.0"
edition = "2018"
publish = false
[lib]
name = "script_layout_interface"
path = "lib.rs"
[dependencies]
app_units = { workspace = true }
atomic_refcell = { workspace = true }
canvas_traits = { workspace = true }
crossbeam-channel = { workspace = true }
euclid = { workspace = true }
fxhash = { workspace = true }
gfx_traits = { workspace = true }
html5ever = { workspace = true }
ipc-channel = { workspace = true }
libc = { workspace = true }
malloc_size_of = { path = "../../malloc_size_of" }
malloc_size_of_derive = { workspace = true }
metrics = { path = "../../metrics" }
msg = { workspace = true }
net_traits = { workspace = true }
parking_lot = { workspace = true }
profile_traits = { workspace = true }
range = { path = "../../range" }
script_traits = { workspace = true }
selectors = { path = "../../selectors", features = ["shmem"] }
servo_arc = { path = "../../servo_arc" }
servo_atoms = { path = "../../atoms" }
servo_url = { path = "../../url" }
style = { path = "../../style", features = ["servo"] }
style_traits = { workspace = true }
webrender_api = { git = "https://github.com/servo/webrender" }

View file

@ -75,7 +75,7 @@ smallvec = "1.0"
static_assertions = "1.1"
string_cache = { version = "0.8", optional = true }
style_derive = { path = "../style_derive" }
style_traits = { path = "../style_traits" }
style_traits = { workspace = true }
time = "0.1"
to_shmem = { path = "../to_shmem" }
to_shmem_derive = { path = "../to_shmem_derive" }

View file

@ -12,7 +12,7 @@ path = "lib.rs"
[dependencies]
base64 = { workspace = true }
compositing_traits = { path = "../compositing_traits" }
compositing_traits = { workspace = true }
cookie = { workspace = true }
crossbeam-channel = { workspace = true }
euclid = { workspace = true }
@ -22,14 +22,14 @@ image = { workspace = true }
ipc-channel = { workspace = true }
keyboard-types = { workspace = true }
log = { workspace = true }
msg = { path = "../msg" }
net_traits = { path = "../net_traits" }
msg = { workspace = true }
net_traits = { workspace = true }
pixels = { path = "../pixels" }
script_traits = { path = "../script_traits" }
script_traits = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
servo_config = { path = "../config" }
servo_url = { path = "../url" }
style_traits = { path = "../style_traits" }
style_traits = { workspace = true }
uuid = { workspace = true }
webdriver = { workspace = true }

View file

@ -16,13 +16,13 @@ euclid = { workspace = true }
ipc-channel = { workspace = true }
log = { workspace = true }
malloc_size_of = { path = "../malloc_size_of" }
msg = { path = "../msg" }
msg = { workspace = true }
serde = { workspace = true, features = ["serde_derive"] }
servo_config = { path = "../config" }
smallvec = { workspace = true, features = ["serde"] }
webrender = { workspace = true }
webrender_api = { workspace = true }
webrender_traits = { path = "../webrender_traits" }
webrender_traits = { workspace = true }
wgpu-core = { version = "0.17", features = ["replay", "trace", "serial-pass", "wgsl"] }
wgpu-types = { version = "0.17" }

View file

@ -11,10 +11,10 @@ path = "lib.rs"
doctest = false
[dependencies]
gfx_traits = {path = "../../../components/gfx_traits"}
gfx_traits = { workspace = true }
ipc-channel = { workspace = true }
metrics = {path = "../../../components/metrics"}
msg = {path = "../../../components/msg"}
profile_traits = {path = "../../../components/profile_traits"}
servo_url = {path = "../../../components/url"}
metrics = { path = "../../../components/metrics" }
msg = { workspace = true }
profile_traits = { workspace = true }
servo_url = { path = "../../../components/url" }
time = { workspace = true }

View file

@ -12,7 +12,7 @@ doctest = false
[dependencies]
ipc-channel = { workspace = true }
profile = {path = "../../../components/profile"}
profile_traits = {path = "../../../components/profile_traits"}
servo_config = {path = "../../../components/config"}
profile = { path = "../../../components/profile" }
profile_traits = { workspace = true }
servo_config = { path = "../../../components/config" }