Bug 264400

Summary: Modules with top-level await should not block execution of sibling modules
Product: WebKit Reporter: Nicolò Ribaudo <hello+webkit>
Component: JavaScriptCoreAssignee: 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
Reported 2023-11-08 04:32:21 PST
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
Radar WebKit Bug Importer
Comment 1 2023-11-15 04:33:13 PST
Note You need to log in before you can comment on or make changes to this bug.