servo/components/script
Martin Robinson 748954d610
net: Use RequestId to cancel fetches instead of creating an IPC channel (#34883)
Instead of creating an IPC channel for every fetch, allow cancelling
fetches based on the `RequestId` of the original request. This requires
that `RequestId`s be UUIDs so that they are unique between processes
that might communicating with the resource process.

In addition, the resource process loop now keeps a `HashMap` or `Weak`
handles to cancellers and cleans them up.

This allows for creating mutiple `FetchCanceller`s in `script` for a
single fetch request, allowing integration of the media and video
elements to integrate with the `Document` canceller list -- meaning
these fetches also get cancelled when the `Document` unloads.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-01-11 11:49:22 +00:00
..
docs Update branch name to main (#30877) 2023-12-16 09:32:20 +00:00
dom net: Use RequestId to cancel fetches instead of creating an IPC channel (#34883) 2025-01-11 11:49:22 +00:00
layout_dom script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
xpath script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
animation_timeline.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
animations.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
body.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
build.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
canvas_state.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
Cargo.toml script: Make timers per-process (#34581) 2024-12-24 09:53:35 +00:00
clipboard_provider.rs
conversions.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
devtools.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
document_collection.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
document_loader.rs net: Use RequestId to cancel fetches instead of creating an IPC channel (#34883) 2025-01-11 11:49:22 +00:00
drag_data_store.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
fetch.rs net: Use RequestId to cancel fetches instead of creating an IPC channel (#34883) 2025-01-11 11:49:22 +00:00
iframe_collection.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
image_listener.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
init.rs Create two-phase initialization for generated JS engine bindings (#34366) 2024-12-06 07:34:24 +00:00
layout_image.rs net: Use RequestId to cancel fetches instead of creating an IPC channel (#34883) 2025-01-11 11:49:22 +00:00
lib.rs script: Move navigation fetching to the ScriptThread (#34919) 2025-01-10 12:19:40 +00:00
links.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
mem.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
messaging.rs script: Move navigation fetching to the ScriptThread (#34919) 2025-01-10 12:19:40 +00:00
microtask.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
navigation.rs net: Use RequestId to cancel fetches instead of creating an IPC channel (#34883) 2025-01-11 11:49:22 +00:00
network_listener.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
realms.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
script_module.rs net: Use RequestId to cancel fetches instead of creating an IPC channel (#34883) 2025-01-11 11:49:22 +00:00
script_runtime.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
script_thread.rs net: Use RequestId to cancel fetches instead of creating an IPC channel (#34883) 2025-01-11 11:49:22 +00:00
security_manager.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
serviceworker_manager.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
stylesheet_loader.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
stylesheet_set.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
task.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
task_manager.rs Implement HTMLCanvasElement.toBlob (#34938) 2025-01-10 19:04:42 +00:00
task_queue.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
task_source.rs Implement HTMLCanvasElement.toBlob (#34938) 2025-01-10 19:04:42 +00:00
test.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
textinput.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
timers.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
unminify.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
unpremultiplytable.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
webdriver_handlers.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
window_named_properties.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00