Files
servo/components/script/script_module.rs
Gae24 a0d397bd1a script: Queue a networking task to proceed when a pending module fetch is terminated (#44042)
Our implementation of [fetch a single module
script](https://html.spec.whatwg.org/multipage/webappapis.html#fetch-a-single-module-script)
was missing the task queueing steps:
```
5. If moduleMap[(url, moduleType)] is "fetching", wait in parallel until that entry's value changes,
   then queue a task on the networking task source to proceed with running the following steps.

6. If moduleMap[(url, moduleType)] exists, run onComplete given moduleMap[(url, moduleType)], and return.
```
Instead we appended a `PromiseNativeHandler`, which would run
`on_complete` when resolved, on the promise of the pending fetch.

Testing: This change shouldn't be observable since modules are evaluated
in sync, but it's required for #39417.

Signed-off-by: Gae24 <96017547+Gae24@users.noreply.github.com>
2026-04-09 07:27:53 +00:00

89 KiB