servo/components/layout_2020
Oriol Brufau c09eed759b
layout: Cache IndependentNonReplacedContents::layout() (#36082)
This replaces `IndependentLayout` with `CacheableLayoutResult` and
stores it in `LayoutBoxBase` so it can be reused when we need to lay out
a box multiple times.

This is a generalization of the caching that we had for flexbox, which
is now removed in favor of the new one.

With this, the number of runs per second in the Chromium perf test
`flexbox-deeply-nested-column-flow.html` are multiplied by 3.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2025-03-24 12:33:44 +00:00
..
display_list Create a constellation_traits crate (#36088) 2025-03-22 15:49:08 +00:00
flexbox layout: Cache IndependentNonReplacedContents::layout() (#36082) 2025-03-24 12:33:44 +00:00
flow layout: Cache IndependentNonReplacedContents::layout() (#36082) 2025-03-24 12:33:44 +00:00
fragment_tree layout: Cache IndependentNonReplacedContents::layout() (#36082) 2025-03-24 12:33:44 +00:00
table layout: Cache IndependentNonReplacedContents::layout() (#36082) 2025-03-24 12:33:44 +00:00
taffy layout: Cache IndependentNonReplacedContents::layout() (#36082) 2025-03-24 12:33:44 +00:00
tests Migrate to the 2024 edition (#35755) 2025-03-13 10:28:11 +00:00
Cargo.toml Cleanup Stylo dependencies (#36046) 2025-03-19 08:53:26 +00:00
cell.rs layout: Remove the obsolete layout tracing functionality (#35001) 2025-01-15 13:24:14 +00:00
construct_modern.rs Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
context.rs script: Do not set up an IPC route for every image load (#35041) 2025-01-25 09:39:04 +00:00
dom.rs Remove legacy layout (layout 2013) (#35943) 2025-03-13 07:26:57 +00:00
dom_traversal.rs Make input element display-inside always flow-root (#35908) 2025-03-23 00:45:59 +00:00
formatting_contexts.rs layout: Cache IndependentNonReplacedContents::layout() (#36082) 2025-03-24 12:33:44 +00:00
geom.rs layout: Implement the fit-content() sizing function (#36056) 2025-03-23 14:26:44 +00:00
layout_box_base.rs layout: Cache IndependentNonReplacedContents::layout() (#36082) 2025-03-24 12:33:44 +00:00
lib.rs layout: Cache IndependentNonReplacedContents::layout() (#36082) 2025-03-24 12:33:44 +00:00
lists.rs layout: Add LayoutBoxBase and use it for IndependentFormattingContext (#34507) 2024-12-07 19:12:25 +00:00
positioned.rs layout: Cache IndependentNonReplacedContents::layout() (#36082) 2025-03-24 12:33:44 +00:00
query.rs Migrate to the 2024 edition (#35755) 2025-03-13 10:28:11 +00:00
quotes.rs layout: Implement a non-recursive version of CSS quotes (#34770) 2025-02-27 16:00:21 +00:00
replaced.rs layout: Allow lazy resolution of automatic minimum sizes (#35965) 2025-03-13 22:50:16 +00:00
sizing.rs layout: Implement the fit-content() sizing function (#36056) 2025-03-23 14:26:44 +00:00
style_ext.rs layout: Implement the fit-content() sizing function (#36056) 2025-03-23 14:26:44 +00:00
traversal.rs Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00