servo/components
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
..
allocator chore: Move unsafe operations in unsafe functions to unsafe blocks (#36017) 2025-03-18 06:19:35 +00:00
background_hang_monitor chore: Move unsafe operations in unsafe functions to unsafe blocks (#36017) 2025-03-18 06:19:35 +00:00
bluetooth Migrate to the 2024 edition (#35755) 2025-03-13 10:28:11 +00:00
canvas Cleanup Stylo dependencies (#36046) 2025-03-19 08:53:26 +00:00
compositing compositor: Remove the script channel from the compositor (#36089) 2025-03-23 11:19:27 +00:00
config Hide servo internal shadow roots from the inspector by default (#35958) 2025-03-13 13:08:24 +00:00
constellation webgpu: leverage routed_promise in calls returning promises (#35859) 2025-03-23 18:52:46 +00:00
deny_public_fields Add rust-version to all Cargo.toml files (#33483) 2024-09-17 16:39:07 +00:00
devtools devtools: refactor network related (#36093) 2025-03-22 14:46:57 +00:00
dom_struct script: Feature-gate all crown support. (#35055) 2025-01-18 21:36:15 +00:00
domobject_derive Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
fonts Cleanup Stylo dependencies (#36046) 2025-03-19 08:53:26 +00:00
geometry servoshell: Allow overriding screen resolution with a command-line argument (#34038) 2024-10-30 11:54:13 +00:00
hyper_serde Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
jstraceable_derive Add rust-version to all Cargo.toml files (#33483) 2024-09-17 16:39:07 +00:00
layout_2020 layout: Cache IndependentNonReplacedContents::layout() (#36082) 2025-03-24 12:33:44 +00:00
layout_thread_2020 Create a constellation_traits crate (#36088) 2025-03-22 15:49:08 +00:00
malloc_size_of Cleanup Stylo dependencies (#36046) 2025-03-19 08:53:26 +00:00
media Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
metrics metrics: Simplify ProgressiveWebMetrics (#35985) 2025-03-21 14:55:00 +00:00
net pixels: Extend Image to allow for multiple frames (#36058) 2025-03-21 10:32:14 +00:00
pixels pixels: Extend Image to allow for multiple frames (#36058) 2025-03-21 10:32:14 +00:00
profile Use strum to iterate through enum variants and get their names (#35933) 2025-03-13 12:00:31 +00:00
rand Migrate to the 2024 edition (#35755) 2025-03-13 10:28:11 +00:00
range Add rust-version to all Cargo.toml files (#33483) 2024-09-17 16:39:07 +00:00
script fix: radio input element don't trigger validity state (#36103) 2025-03-23 19:16:48 +00:00
script_bindings script: Implement Element::GetHTML and ShadowRoot::GetHTML (#36106) 2025-03-23 19:04:23 +00:00
servo Create a constellation_traits crate (#36088) 2025-03-22 15:49:08 +00:00
shared webgpu: leverage routed_promise in calls returning promises (#35859) 2025-03-23 18:52:46 +00:00
timers Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
url Eliminate to_shmem dependency from servo_url (#35897) 2025-03-11 00:33:39 +00:00
webdriver_server Create a constellation_traits crate (#36088) 2025-03-22 15:49:08 +00:00
webgpu webgpu: leverage routed_promise in calls returning promises (#35859) 2025-03-23 18:52:46 +00:00
webxr Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00