mirror of
https://github.com/servo/servo.git
synced 2025-08-18 03:45:33 +01:00
Previously, anonymous boxes, such for anonymous table parts were not associated with their non-pseudo ancestor DOM nodes. This presents a problem when it comes time to clear layout data during incremental layouts. This change reworks the way that pseudo-elements in general are stored in their non-pseudo ancestor DOM nodes, allowing for any number to be placed there. This trades a bit of performance for space, as just adding a vector to the node would add something like 24 bytes of storage to every node. This change should have a neutral runtime memory usage. Testing: This shouldn't change observable behavior and is thus covered by existing WPT tests. It will allow tests to pass in a subsequent PR. Signed-off-by: Martin Robinson <mrobinson@igalia.com> Co-authored-by: Oriol Brufau <obrufau@igalia.com>
70 lines
1.9 KiB
TOML
70 lines
1.9 KiB
TOML
[package]
|
|
name = "layout"
|
|
version.workspace = true
|
|
authors.workspace = true
|
|
license.workspace = true
|
|
edition.workspace = true
|
|
publish.workspace = true
|
|
rust-version.workspace = true
|
|
|
|
[lib]
|
|
name = "layout"
|
|
path = "lib.rs"
|
|
test = true
|
|
doctest = false
|
|
|
|
[features]
|
|
tracing = ["dep:tracing"]
|
|
|
|
[dependencies]
|
|
app_units = { workspace = true }
|
|
atomic_refcell = { workspace = true }
|
|
base = { workspace = true }
|
|
bitflags = { workspace = true }
|
|
compositing_traits = { workspace = true }
|
|
constellation_traits = { workspace = true }
|
|
data-url = { workspace = true }
|
|
embedder_traits = { workspace = true }
|
|
euclid = { workspace = true }
|
|
fnv = { workspace = true }
|
|
fonts = { path = "../fonts" }
|
|
fonts_traits = { workspace = true }
|
|
fxhash = { workspace = true }
|
|
html5ever = { workspace = true }
|
|
icu_locid = { workspace = true }
|
|
icu_segmenter = { workspace = true }
|
|
ipc-channel = { workspace = true }
|
|
itertools = { workspace = true }
|
|
layout_api = { workspace = true }
|
|
log = { workspace = true }
|
|
malloc_size_of = { workspace = true }
|
|
malloc_size_of_derive = { workspace = true }
|
|
net_traits = { workspace = true }
|
|
parking_lot = { workspace = true }
|
|
pixels = { path = "../pixels" }
|
|
profile_traits = { workspace = true }
|
|
range = { path = "../range" }
|
|
rayon = { workspace = true }
|
|
script = { path = "../script" }
|
|
script_traits = { workspace = true }
|
|
selectors = { workspace = true }
|
|
servo_arc = { workspace = true }
|
|
servo_config = { path = "../config" }
|
|
servo_geometry = { path = "../geometry" }
|
|
servo_url = { path = "../url" }
|
|
smallvec = { workspace = true }
|
|
stylo = { workspace = true }
|
|
stylo_atoms = { workspace = true }
|
|
stylo_traits = { workspace = true }
|
|
taffy = { workspace = true }
|
|
tracing = { workspace = true, optional = true }
|
|
unicode-bidi = { workspace = true }
|
|
unicode-script = { workspace = true }
|
|
url = { workspace = true }
|
|
webrender_api = { workspace = true }
|
|
xi-unicode = { workspace = true }
|
|
servo-tracing = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
num-traits = { workspace = true }
|
|
quickcheck = "1"
|