Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Editorial variation on #5339 #6855

Draft
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

littledan
Copy link
Contributor

@littledan littledan commented Jul 12, 2021

This PR implements the same observable semantics as #5339 but sort of transposes the representation of the mapping from realm + url to module script. This form might be more similar to what @domenic was suggesting; I don't have a preference between the two variations.


/browsers.html ( diff )
/browsing-the-web.html ( diff )
/dom.html ( diff )
/index.html ( diff )
/infrastructure.html ( diff )
/references.html ( diff )
/timers-and-user-prompts.html ( diff )
/webappapis.html ( diff )

littledan and others added 6 commits July 8, 2021 14:32
This patch gives the TC39 JavaScript Realm proposal semantics in HTML.
Realms are given an environment settings object, which is especially
meaningful for module loading.

Realms created with the JavaScript Realm API are identified as "synthetic"
realms, whereas Realms which implement the Window or WorkerGlobalObject
interfaces are identified as "principal" realms. All synthetic realms
have an associated principal realm.

HTML/Web state and behavior which was previously keyed by realm is instead
generally keyed by principal realm, including the association with an
environment settings object, with the exception of the module map.

Each realm, both synthetic and principal realms, contain their own module
map. This is because JavaScript modules close over a global object, and
it may be useful to run a module in the context of a synthetic realm.

The Realm proposal is currently at Stage 2, and this patch should not
land until, at the earliest, the proposal is at Stage 3.
In this version, synthetic realms don't have their own module map, but instead,
module scripts have a weakly held mapping from realms to copies of the same
module, instantiated in other realms.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant