servo/components/layout
Martin Robinson 556bfb7dff
fonts: Make FontContext thread-safe and share it per-Layout (#32205)
This allows sharing font templates, fonts, and platform fonts across
layout threads. It's the first step toward storing web fonts in the
layout versus the shared `FontCacheThread`. Now fonts and font groups
have some locking (especially on FreeType), which will probably affect
performance. On the other hand, we measured memory usage and this saves
roughly 40 megabytes of memory when loading servo.org based on data from
the memory profiler.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2024-05-02 10:34:10 +00:00
..
display_list chore: Clean up use of gfx and constellation types (#31981) 2024-04-09 06:43:48 +00:00
block.rs Upgrade Stylo to 2023-12-01 (#32032) 2024-04-10 13:03:56 +00:00
Cargo.toml Move Stylo to its own repo (#31350) 2024-02-27 15:39:06 +00:00
construct.rs fonts: Make FontContext thread-safe and share it per-Layout (#32205) 2024-05-02 10:34:10 +00:00
context.rs fonts: Make FontContext thread-safe and share it per-Layout (#32205) 2024-05-02 10:34:10 +00:00
data.rs script: Split style and layout data in DOM nodes (#31985) 2024-04-04 07:56:51 +00:00
flex.rs Lint layout_2013 with clippy (#31221) 2024-01-30 11:46:35 +00:00
floats.rs Lint layout_2013 with clippy (#31221) 2024-01-30 11:46:35 +00:00
flow.rs clippy: Fix warnings in components/layout (#31612) 2024-03-11 10:24:36 +00:00
flow_list.rs Lint layout_2013 with clippy (#31221) 2024-01-30 11:46:35 +00:00
flow_ref.rs Address issues uncovered by rust-1.78 beta (#32130) 2024-04-22 18:20:47 +00:00
fragment.rs fonts: Make FontContext thread-safe and share it per-Layout (#32205) 2024-05-02 10:34:10 +00:00
generated_content.rs fonts: Make FontContext thread-safe and share it per-Layout (#32205) 2024-05-02 10:34:10 +00:00
incremental.rs Strict import formatting (grouping and granularity) (#30325) 2023-09-11 19:16:54 +00:00
inline.rs fonts: Make FontContext thread-safe and share it per-Layout (#32205) 2024-05-02 10:34:10 +00:00
layout_debug.rs Lint layout_2013 with clippy (#31221) 2024-01-30 11:46:35 +00:00
lib.rs Strict import formatting (grouping and granularity) (#30325) 2023-09-11 19:16:54 +00:00
linked_list.rs Update MPL license to https (part 4) 2018-11-19 14:47:27 +01:00
list_item.rs fonts: Make FontContext thread-safe and share it per-Layout (#32205) 2024-05-02 10:34:10 +00:00
model.rs clippy: Fix warnings in components/layout (#31612) 2024-03-11 10:24:36 +00:00
multicol.rs Lint layout_2013 with clippy (#31221) 2024-01-30 11:46:35 +00:00
parallel.rs clippy: Fix warnings in components/layout (#31612) 2024-03-11 10:24:36 +00:00
persistent_list.rs Lint layout_2013 with clippy (#31221) 2024-01-30 11:46:35 +00:00
query.rs Let legacy layout serialize shorthands in getComputedStyle (#32149) 2024-04-26 15:37:46 +00:00
sequential.rs dependencies: Upgrade to WebRender 0.64 (#31486) 2024-03-14 17:40:54 +00:00
table.rs clippy: Fix warnings in components/layout (#31612) 2024-03-11 10:24:36 +00:00
table_caption.rs Strict import formatting (grouping and granularity) (#30325) 2023-09-11 19:16:54 +00:00
table_cell.rs clippy: Fix warnings in components/layout (#31612) 2024-03-11 10:24:36 +00:00
table_colgroup.rs Strict import formatting (grouping and granularity) (#30325) 2023-09-11 19:16:54 +00:00
table_row.rs clippy: Allow too_many_arguments for existing functions (#31974) 2024-04-02 12:50:45 +00:00
table_rowgroup.rs Lint layout_2013 with clippy (#31221) 2024-01-30 11:46:35 +00:00
table_wrapper.rs Lint layout_2013 with clippy (#31221) 2024-01-30 11:46:35 +00:00
text.rs fonts: Make FontContext thread-safe and share it per-Layout (#32205) 2024-05-02 10:34:10 +00:00
traversal.rs script: Split style and layout data in DOM nodes (#31985) 2024-04-04 07:56:51 +00:00
wrapper.rs script: Split style and layout data in DOM nodes (#31985) 2024-04-04 07:56:51 +00:00