Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[WIP] JavaScript Realm proposal integration
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.
- Loading branch information