servo/components
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
..
allocator rustdoc: Add some basic Safety sections to unsafe functions (#31639) 2024-03-13 10:44:59 +00:00
background_hang_monitor fix: missing thread name when spawning (#31656) 2024-03-14 10:40:58 +00:00
bluetooth clippy: fix warnings in components/bluetooth (#31566) 2024-03-07 23:32:35 +00:00
canvas fonts: Make FontContext thread-safe and share it per-Layout (#32205) 2024-05-02 10:34:10 +00:00
compositing fonts: Use FontInstanceFlags::EMBEDDED_BITMAPS for color fonts on MacOS (#32203) 2024-05-02 06:50:59 +00:00
config compositor: Remove the is_running_problem_test setting (#31589) 2024-03-09 02:29:43 +00:00
config_plugins clippy: fix warnings in components/config* (#31562) 2024-03-08 07:15:56 +00:00
constellation Update WebView variants of ConstellationMsg (#32163) 2024-04-29 07:59:52 +00:00
deny_public_fields Strict import formatting (grouping and granularity) (#30325) 2023-09-11 19:16:54 +00:00
devtools clippy: Allow too_many_arguments for existing functions (#31974) 2024-04-02 12:50:45 +00:00
dom_struct clippy: fix warnings in various modules in components (#31568) 2024-03-08 14:28:04 +00:00
domobject_derive clippy: fix warnings in various modules in components (#31568) 2024-03-08 14:28:04 +00:00
geometry dependencies: Upgrade to WebRender 0.64 (#31486) 2024-03-14 17:40:54 +00:00
gfx fonts: Make FontContext thread-safe and share it per-Layout (#32205) 2024-05-02 10:34:10 +00:00
hyper_serde clippy: fix warnings in various modules in components (#31568) 2024-03-08 14:28:04 +00:00
jstraceable_derive Update to syn 2 where possible (#30387) 2023-09-19 15:57:37 +00:00
layout fonts: Make FontContext thread-safe and share it per-Layout (#32205) 2024-05-02 10:34:10 +00:00
layout_2020 fonts: Make FontContext thread-safe and share it per-Layout (#32205) 2024-05-02 10:34:10 +00:00
layout_thread fonts: Make FontContext thread-safe and share it per-Layout (#32205) 2024-05-02 10:34:10 +00:00
layout_thread_2020 fonts: Make FontContext thread-safe and share it per-Layout (#32205) 2024-05-02 10:34:10 +00:00
media clippy: fix result_unit_err warnings (#31791) 2024-03-21 12:51:45 +00:00
metrics clippy: Fix assorted warnings in components/ (#31628) 2024-03-13 08:31:58 +00:00
net Backout Host-header related change from #32024. (#32093) 2024-04-16 12:38:25 +00:00
pixels clippy: fix warnings in various modules in components (#31568) 2024-03-08 14:28:04 +00:00
profile clippy: fix warnings in various modules in components (#31568) 2024-03-08 14:28:04 +00:00
rand Fix clippy warnings in components/rand (#31549) 2024-03-07 23:16:42 +00:00
range clippy: fix warnings in various modules in components (#31568) 2024-03-08 14:28:04 +00:00
script script: Include layout when collecting memory reports (#32204) 2024-05-01 09:35:46 +00:00
servo fonts: Use FontInstanceFlags::EMBEDDED_BITMAPS for color fonts on MacOS (#32203) 2024-05-02 06:50:59 +00:00
shared fonts: Use FontInstanceFlags::EMBEDDED_BITMAPS for color fonts on MacOS (#32203) 2024-05-02 06:50:59 +00:00
url url: Only truncate data URLs for Debug (#32177) 2024-04-29 15:29:47 +00:00
webdriver_server clippy: Allow too_many_arguments for existing functions (#31974) 2024-04-02 12:50:45 +00:00
webgpu webgpu: Use safe callbacks & try_recv_timeout (#32008) 2024-04-30 11:47:57 +00:00