From 71877085fdd32c4d0a9f74208363db6a5e0a73b7 Mon Sep 17 00:00:00 2001 From: Leo Balter Date: Mon, 12 Apr 2021 12:29:04 -0700 Subject: [PATCH] Meta: Update Explainer for Isolated Realms (#292) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Mathieu Hofman Co-authored-by: Caridy Patiño --- README.md | 1 + explainer.md | 452 ++++++++++++++++++++------------------------------- 2 files changed, 176 insertions(+), 277 deletions(-) diff --git a/README.md b/README.md index e558305..821460f 100644 --- a/README.md +++ b/README.md @@ -50,6 +50,7 @@ See some examples [in the Explainer file](explainer.md). ## History +* we moved on from the exposed globalThis model to a lean isolated realms API (see #289 and #291) * we worked on this during ES2015 time frame, so never went through stages process ([ES6 Realm Objects proto-spec.pdf](https://github.com/tc39/proposal-realms/files/717415/ES6.Realm.Objects.proto-spec.pdf)) * got punted to later (rightly so!) * goal of this proposal: resume work on this, reassert committee interest via advancing to stage 2 diff --git a/explainer.md b/explainer.md index 73f6613..c0b8554 100644 --- a/explainer.md +++ b/explainer.md @@ -3,45 +3,26 @@ * [Introduction](#Introduction) * [API (TypeScript Format)](#APITypeScriptFormat) - * [Quick API Usage Example](#QuickAPIUsageExample) * [Motivations](#Motivations) - * [How does Realms operate?](#Operation) * [Clarifications](#Clarifications) - * [Terminology](#Terminology) - * [The Realm's Global Object](#TheRealmsGlobalObject) - * [Evaluation](#Evaluation) - * [Module Graph](#ModuleGraph) - * [Compartments](#Compartments) * [Why not separate processes?](#Whynotseparateprocesses) * [Use Cases](#UseCases) - * [_Trusted_ Third Party Scripts](#Trusted_ThirdPartyScripts) - * [Code Testing](#CodeTesting) - * [Running tests in a Realm](#RunningtestsinaRealm) - * [Test FWs + Tooling to run tests in a realm](#TestFWsToolingtoruntestsinarealm) - * [Codebase segmentation](#Codebasesegmentation) - * [Template libraries](#Templatelibraries) - * [DOM Virtualization](#DOMVirtualization) - * [DOM Virtualization: AMP WorkerDOM Challenge](#DOMVirtualization:AMPWorkerDOMChallenge) - * [JSDOM + vm Modules](#JSDOMvmModules) - * [Virtualized Environment](#VirtualizedEnvironment) - * [DOM mocking](#DOMmocking) + * [_Trusted_ Third Party Scripts](#Trusted_ThirdPartyScripts) + * [Code Testing](#CodeTesting) + * [Running tests in a Realm](#RunningtestsinaRealm) + * [Test FWs + Tooling to run tests in a realm](#TestFWsToolingtoruntestsinarealm) + * [Codebase segmentation](#Codebasesegmentation) + * [Template libraries](#Templatelibraries) + * [DOM Virtualization](#DOMVirtualization) + * [DOM Virtualization: AMP WorkerDOM Challenge](#DOMVirtualization:AMPWorkerDOMChallenge) + * [JSDOM + vm Modules](#JSDOMvmModules) + * [Virtualized Environment](#VirtualizedEnvironment) + * [DOM mocking](#DOMmocking) * [Modules](#Modules) * [Integrity](#Integrity) - * [Security vs Integrity](#SecurityvsIntegrity) -* [More Examples](#MoreExamples) - * [Example: Simple Realm](#Example:SimpleRealm) - * [Example: Importing Module](#Example:ImportingModule) - * [Example: Virtualized Contexts](#Example:VirtualizedContexts) - * [Example: Simple Subclass](#Example:SimpleSubclass) - * [Example: DOM Mocking](#Example:DOMMocking) - * [Example: iframes vs Realms](#Example:iframesvsRealms) - * [Example: Indirect Evaluation](#Example:IndirectEvaluation) - * [Example: Direct Evaluation](#Example:DirectEvaluation) - * [Example: Identity Discontinuity](#Example:IdentityDiscontinuity) -* [Example: Node's vm objects vs Realms](#Example:NodesvmobjectsvsRealms) + * [Security vs Integrity](#SecurityvsIntegrity) * [Status Quo](#StatusQuo) * [Iframes](#Iframes) - * [Detachable](#Detachable) * [FAQ](#FAQ)