Conversation
For concreteness, this patch specifies how the WebAssembly JavaScript module integration proposal [1] could work in HTML. It is not yet ready to merge, as the proposal is still in a relatively early state. Note that this change depends on the ability for modules to block in the evaluation phase, to permit WebAssembly module instantiation to yield, as is necessary on some platforms where compilation work is performed during the first instantiation. Such an ability to yield is provided by the JavaScript top-level await proposal [2] and associated HTML integration patch whatwg#4352. [1] https://github.com/webassembly/esm-integration [2] https://github.com/tc39/proposal-top-level-await
6440faa to
eb39f80
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Test PR for review and CI
For reference, the original PR by Dan is here: whatwg#4372
This PR keeps the "module type" for wasm modules as "javascript" whereas on a previous rebase I had set it to a new "webassembly" type that I think is not needed, because we don't use import assertions. So browsers will just distinguish by MIME type if they should try to load the module as Wasm or JS.
There is also this "REVIEW NOTE" that remains from the original PR (see discussion there), where the steps initialize the Wasm module ArrayBuffer to empty if scripting is disabled. Not sure if this is needed or not (JSON and CSS modules don't check this).
Step 3 of "fetch a single module script" might also need a small modification? (to mention "creating a WebAssembly module script" too)