mirror of
https://github.com/servo/servo.git
synced 2025-09-09 22:48:21 +01:00
layout: Store most anonymous pseudo-elements in box slots (#37941)
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>
This commit is contained in:
parent
4054f9a5a0
commit
51367c22a6
7 changed files with 106 additions and 95 deletions
1
Cargo.lock
generated
1
Cargo.lock
generated
|
@ -4725,6 +4725,7 @@ dependencies = [
|
|||
"servo_geometry",
|
||||
"servo_malloc_size_of",
|
||||
"servo_url",
|
||||
"smallvec",
|
||||
"stylo",
|
||||
"stylo_atoms",
|
||||
"stylo_traits",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue