servo/components/layout_2020
Martin Robinson 2d001e2c85
layout: Enable using cached fragments when there is a BoxTree update point (#36404)
This starts to enable the fragment cache for all layout modes, except
grid. The main tricky bit here is that update points are absolutes and
these need to be laid out again in their containing blocks. We punt a
little bit on this, by forcing ancestors of update points to rebuild
their Fragments. This is just the first step.

Testing: We do not currently have layout performance tests, but will try
to run some tests manually later. Behavior is covered by the WPT.

Co-authored-by: Oriol Brufau <obrufau@igalia.com>
Signed-off-by: Martin Robinson <mrobinson@igalia.com>

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
2025-04-09 13:32:07 +00:00
..
display_list layout: Scale images in image_set by their specified resolution (#36374) 2025-04-07 13:54:29 +00:00
flexbox layout: Enable using cached fragments when there is a BoxTree update point (#36404) 2025-04-09 13:32:07 +00:00
flow layout: Enable using cached fragments when there is a BoxTree update point (#36404) 2025-04-09 13:32:07 +00:00
fragment_tree compositing: Combine webrender_traits and compositing_traits (#36372) 2025-04-06 17:34:18 +00:00
table layout: Simplify and generalize the usage of pseudo-elements (#36202) 2025-03-29 12:41:04 +00:00
taffy layout: Enable using cached fragments when there is a BoxTree update point (#36404) 2025-04-09 13:32:07 +00:00
tests Migrate to the 2024 edition (#35755) 2025-03-13 10:28:11 +00:00
Cargo.toml compositing: Combine webrender_traits and compositing_traits (#36372) 2025-04-06 17:34:18 +00:00
cell.rs layout: Remove the obsolete layout tracing functionality (#35001) 2025-01-15 13:24:14 +00:00
construct_modern.rs layout: Simplify and generalize the usage of pseudo-elements (#36202) 2025-03-29 12:41:04 +00:00
context.rs layout: Scale images in image_set by their specified resolution (#36374) 2025-04-07 13:54:29 +00:00
dom.rs layout: Enable using cached fragments when there is a BoxTree update point (#36404) 2025-04-09 13:32:07 +00:00
dom_traversal.rs layout: Add initial support for the ::marker pseudo-element (#36317) 2025-04-07 17:49:05 +00:00
formatting_contexts.rs layout: Enable using cached fragments when there is a BoxTree update point (#36404) 2025-04-09 13:32:07 +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: Enable using cached fragments when there is a BoxTree update point (#36404) 2025-04-09 13:32:07 +00:00
lib.rs layout: Cache IndependentNonReplacedContents::layout() (#36082) 2025-03-24 12:33:44 +00:00
lists.rs layout: Add initial support for the ::marker pseudo-element (#36317) 2025-04-07 17:49:05 +00:00
positioned.rs layout: Enable using cached fragments when there is a BoxTree update point (#36404) 2025-04-09 13:32:07 +00:00
query.rs layout: Add initial support for the ::marker pseudo-element (#36317) 2025-04-07 17:49:05 +00:00
quotes.rs layout: Implement a non-recursive version of CSS quotes (#34770) 2025-02-27 16:00:21 +00:00
replaced.rs constellation: Stop assuming that the viewport is shared by all WebViews (#36312) 2025-04-04 17:06:34 +00:00
sizing.rs layout: Restrict stretch alignment to flex items with computed auto size (#36288) 2025-04-04 10:15:40 +00:00
style_ext.rs layout: Restrict stretch alignment to flex items with computed auto size (#36288) 2025-04-04 10:15:40 +00:00
traversal.rs Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00