servo/components/script
Martin Robinson ade902207f
fonts: Use IpcSharedMemory to send font data (#33530)
This changes modifes the way that font data is sent over IPC channels.
Instead of serializing the data or sending it via IPC byte senders, font
data is copied into shared memory and a copy of the handle is sent over
the channel.

There is also the idea of sending the file handle of the on disk data of
system fonts. This could be implemented as a further followup once there
is an abstraction in `ipc-channel` over file handles.

To accomplish this, a `FontData` abstraction is added, which also allows
caching an in-memory shared `Arc<Vec<u8>>` version of the data (neeeded
by some APIs). This could also be a place for caching font tables in the
future.

Finally, the `FontCacheThread` is renamed to the `SystemFontService`
while the proxy for this is now named `SystemFontServiceProxy`.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2024-09-25 07:31:55 +00:00
..
docs Update branch name to main (#30877) 2023-12-16 09:32:20 +00:00
dom Layout: Implement innerText/outerText (#33312) 2024-09-24 09:45:33 +00:00
layout_dom Replace .map_or(false with Option::is_some_and (#33468) 2024-09-16 10:03:52 +00:00
task_source Dedupliate syn (#33038) 2024-08-13 21:21:47 +00:00
animation_timeline.rs script: Start replacing time with std::time and chrono (#30639) 2024-01-16 12:23:18 +00:00
animations.rs remove usage of legacy numeric operations in script (#33095) 2024-08-16 21:30:13 +00:00
body.rs clippy: Fix let_and_return warnings (#31964) 2024-04-01 15:43:24 +00:00
build.rs fix many clippy warnings (#33510) 2024-09-21 13:58:31 +00:00
canvas_state.rs Replace .map_or(false with Option::is_some_and (#33468) 2024-09-16 10:03:52 +00:00
Cargo.toml Add rust-version to all Cargo.toml files (#33483) 2024-09-17 16:39:07 +00:00
clipboard_provider.rs
devtools.rs clippy: Fix suggestions in script, libservo, and servoshell (#33453) 2024-09-14 08:41:13 +00:00
document_loader.rs Propagate CanGc from Document::new() (#33386) 2024-09-09 22:38:01 +00:00
fetch.rs Start marking functions that can transitively trigger a GC (#33144) 2024-08-22 11:42:36 +00:00
image_listener.rs Strict import formatting (grouping and granularity) (#30325) 2023-09-11 19:16:54 +00:00
init.rs Fixed some clippy warning by adding default implementations (#31989) 2024-04-04 09:33:30 +00:00
layout_image.rs clippy: Fix some warnings in the script crate (#31719) 2024-03-18 10:05:18 +00:00
lib.rs Properly track rel keywords for <a>/<area>/<form> elements (#33462) 2024-09-23 11:48:53 +00:00
links.rs Properly track rel keywords for <a>/<area>/<form> elements (#33462) 2024-09-23 11:48:53 +00:00
mem.rs Strict import formatting (grouping and granularity) (#30325) 2023-09-11 19:16:54 +00:00
microtask.rs Make CanGc derive Copy and Clone (#33407) 2024-09-12 10:24:44 +00:00
network_listener.rs clippy: Fix redundant field names warnings (#31793) 2024-03-20 23:05:29 +00:00
realms.rs clippy: components/script/realms (#32859) 2024-07-26 10:15:02 +00:00
script_module.rs Propagate CanGc from Document::new() (#33386) 2024-09-09 22:38:01 +00:00
script_runtime.rs Make CanGc derive Copy and Clone (#33407) 2024-09-12 10:24:44 +00:00
script_thread.rs fonts: Use IpcSharedMemory to send font data (#33530) 2024-09-25 07:31:55 +00:00
security_manager.rs clippy: Fix suggestions in script, libservo, and servoshell (#33453) 2024-09-14 08:41:13 +00:00
serviceworker_manager.rs Make CanGc derive Copy and Clone (#33407) 2024-09-12 10:24:44 +00:00
stylesheet_loader.rs fix many clippy warnings (#33510) 2024-09-21 13:58:31 +00:00
stylesheet_set.rs
task.rs ensure clean shutdown of all threads running JS 2020-06-30 13:22:38 +08:00
task_manager.rs script: Start rework to better match the specification HTML event loop (#31505) 2024-05-13 09:23:03 +00:00
task_queue.rs clippy: Fix suggestions in script, libservo, and servoshell (#33453) 2024-09-14 08:41:13 +00:00
test.rs Strict import formatting (grouping and granularity) (#30325) 2023-09-11 19:16:54 +00:00
textinput.rs remove usage of legacy numeric operations in script (#33095) 2024-08-16 21:30:13 +00:00
timers.rs script: Stop using time in DOM timers (#33262) 2024-08-30 15:20:44 +00:00
unpremultiplytable.rs
webdriver_handlers.rs Start marking functions that can transitively trigger a GC (#33144) 2024-08-22 11:42:36 +00:00
window_named_properties.rs Replace the lazy_static crate whth std::sync::LazyLock in components/script (#33004) 2024-08-12 07:30:35 +00:00