servo/components/layout_2020/fragment_tree
Martin Robinson de780dcde4
layout: Make Fragment hold ArcRefCell inside (#34923)
Push the interior mutability into enum variants of `Fragment`, so that
they can be cloned. This saves memory in the `Fragment` tree as the
`Fragment` enum is now a relatively wee 16 bytes and the interior parts
can be a variety of sizes. Before, every `Fragment` was the size of the
biggest kind (`BoxFragment` - 248 bytes).

This a step on the way toward incremental layout.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
2025-01-13 09:59:59 +00:00
..
base_fragment.rs layout: Make Fragment hold ArcRefCell inside (#34923) 2025-01-13 09:59:59 +00:00
box_fragment.rs layout: Make Fragment hold ArcRefCell inside (#34923) 2025-01-13 09:59:59 +00:00
containing_block.rs layout: Make Fragment hold ArcRefCell inside (#34923) 2025-01-13 09:59:59 +00:00
fragment.rs layout: Make Fragment hold ArcRefCell inside (#34923) 2025-01-13 09:59:59 +00:00
fragment_tree.rs layout: Make Fragment hold ArcRefCell inside (#34923) 2025-01-13 09:59:59 +00:00
hoisted_shared_fragment.rs layout: Make Fragment hold ArcRefCell inside (#34923) 2025-01-13 09:59:59 +00:00
mod.rs clippy: Fix warnings in components/layout_2020 (#31611) 2024-03-11 14:24:33 +00:00
positioning_fragment.rs layout: Make Fragment hold ArcRefCell inside (#34923) 2025-01-13 09:59:59 +00:00