Bug 264400
| Summary: | Modules with top-level await should not block execution of sibling modules | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Nicolò Ribaudo <hello+webkit> |
| Component: | JavaScriptCore | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW | ||
| Severity: | Normal | CC: | hello+webkit, keith_miller, mark.lam, syg, webkit-bug-importer, ysuzuki |
| Priority: | P2 | Keywords: | InRadar |
| Version: | Safari 17 | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Nicolò Ribaudo
Consider the following module:
import "a"
import "b"
and assume that "a" uses top-level await. The expected execution order is:
1. "a" starts executing, and then pauses at the await
2. "b" gets executed
3. at some point, "a" finishes executing
However, this is what is currently happening in Safari:
1. "a" starts executing, and then pauses at the await
2. at some point, "a" finishes executing
3. then "b" gets executed
I submitted a WPT test for this at https://github.com/web-platform-tests/wpt/pull/42944
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/118449289>