servo/components/script
Martin Robinson fbd77b4524
script: Move navigation fetching to the ScriptThread (#34919)
This allows reusing the asynchrnous fetch mechanism that we use for page
resources and is likely a step toward removing the `FetchThread`.

Benefits:
 - Reduces IPC traffic during navigation. Now instead of bouncing
   between the constellation and the `ScriptThread` responses are sent
   directly to the `ScriptThread`.
 - Allows cancelling loads after redirects, which was not possible
   before.

There is the question of what to do when a redirect is cross-origin
(#23037). This currently isn't handled properly as the `Constellation`
sends data to the same `Pipeline` that initiated the load. This change
doesn't fix this issue, but does make it more possible for the
`ScriptThread` to shut down the pipeline and ask the `Constellation` to
replace it with a new one.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-01-10 12:19:40 +00:00
..
docs Update branch name to main (#30877) 2023-12-16 09:32:20 +00:00
dom script: Move navigation fetching to the ScriptThread (#34919) 2025-01-10 12:19:40 +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 script: Move navigation fetching to the ScriptThread (#34919) 2025-01-10 12:19:40 +00:00
drag_data_store.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
fetch.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +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 script: Limit public exports. (#34915) 2025-01-10 08:19:19 +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 script: Move navigation fetching to the ScriptThread (#34919) 2025-01-10 12:19:40 +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 script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
script_runtime.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
script_thread.rs script: Move navigation fetching to the ScriptThread (#34919) 2025-01-10 12:19:40 +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 script: Use enums for event loop senders and receivers (#34896) 2025-01-08 21:33:29 +00:00
task_queue.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
task_source.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +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