servo/components/layout
Oriol Brufau d2ccf419c3
layout: Move BoxFragment's block-level info into a dedicated struct (#37938)
`BoxFragment` had 2 fields that are only relevant for block-level boxes:
`clearance` and a boxed `block_margins_collapsed_with_children`.

This moves both pieces of data into a new `BlockLevelLayoutInfo` struct,
which is boxed.

As a result, the size of `BoxFragment` is reduced from 272 to 264 bytes.

Testing: Unneeded (no behavior change)

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-07-09 15:04:57 +00:00
..
display_list layout: Only create a LayoutContext if restyling (#37726) 2025-06-27 15:01:30 +00:00
flexbox layout: Remove clearance parameter from BoxFragment::new() (#37921) 2025-07-08 10:04:37 +00:00
flow layout: Move BoxFragment's block-level info into a dedicated struct (#37938) 2025-07-09 15:04:57 +00:00
fragment_tree layout: Move BoxFragment's block-level info into a dedicated struct (#37938) 2025-07-09 15:04:57 +00:00
stylesheets layout: Implement list-style-position quirk (#37837) 2025-07-03 09:16:54 +00:00
table layout: Store most anonymous pseudo-elements in box slots (#37941) 2025-07-08 15:22:09 +00:00
taffy layout: Remove clearance parameter from BoxFragment::new() (#37921) 2025-07-08 10:04:37 +00:00
tests layout: Combine layout_2020 and layout_thread_2020 into a crate called layout (#36613) 2025-04-19 10:17:03 +00:00
Cargo.toml layout: Store most anonymous pseudo-elements in box slots (#37941) 2025-07-08 15:22:09 +00:00
cell.rs layout: Combine layout_2020 and layout_thread_2020 into a crate called layout (#36613) 2025-04-19 10:17:03 +00:00
construct_modern.rs Layout: Continue support incremental box tree reconstruction for flex&taffy level box (#37854) 2025-07-04 09:35:09 +00:00
context.rs layout: Only create a LayoutContext if restyling (#37726) 2025-06-27 15:01:30 +00:00
dom.rs layout: Store most anonymous pseudo-elements in box slots (#37941) 2025-07-08 15:22:09 +00:00
dom_traversal.rs layout: Store most anonymous pseudo-elements in box slots (#37941) 2025-07-08 15:22:09 +00:00
formatting_contexts.rs layout: Unify logic for laying out replaced and non-replaced in a BFC (#37864) 2025-07-04 17:47:40 +00:00
geom.rs layout: Fix block SizeConstraint for replaced elements (#37758) 2025-06-30 12:07:37 +00:00
layout_box_base.rs layout: Add a repaint-only incremental layout mode (#36978) 2025-05-12 17:03:50 +00:00
layout_impl.rs libservo|compositor: Have scroll offset directionality match that of WebRender and the web (#37752) 2025-07-03 13:04:06 +00:00
lib.rs layout: Move text decoration propagation to stacking context tree construction (#37069) 2025-05-21 16:38:29 +00:00
lists.rs Upgrade Stylo to 2025-06-03 (#37444) 2025-06-19 12:30:32 +00:00
positioned.rs layout: Unify layout logic for replaced and non-replaced abspos (#37943) 2025-07-09 08:44:27 +00:00
query.rs Rename script_layout_interface to layout_api (#37591) 2025-06-20 17:13:05 +00:00
quotes.rs layout: Combine layout_2020 and layout_thread_2020 into a crate called layout (#36613) 2025-04-19 10:17:03 +00:00
replaced.rs layout: Unify logic for laying out replaced and non-replaced in a BFC (#37864) 2025-07-04 17:47:40 +00:00
sizing.rs layout: Fix block SizeConstraint for replaced elements (#37758) 2025-06-30 12:07:37 +00:00
style_ext.rs Move to_bidi_level method from Stylo to Servo (#37343) 2025-06-11 14:44:13 +00:00
traversal.rs layout: Add incremental box tree construction for table caption (#37849) 2025-07-03 10:32:05 +00:00