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

Explore relationship with ShadowRealms, [Exposed=*] #21

Open
littledan opened this issue Jun 25, 2022 · 3 comments
Open

Explore relationship with ShadowRealms, [Exposed=*] #21

littledan opened this issue Jun 25, 2022 · 3 comments

Comments

@littledan
Copy link

littledan commented Jun 25, 2022

ShadowRealms support some Web APIs, through the new notation [Exposed=*] in WebIDL, see tc39/proposal-shadowrealm#331. We should consider examining the list of APIs exposed in this way and comparing it to the WinterCG list. I'd hope that, ideally, the [Exposed=*] list is a subset of the WinterCG list; if we deviate from that, we should understand why.

@legendecas
Copy link
Member

legendecas commented Jul 14, 2022

I'm supportive of this. Defining a common minimum API list in the ShadowRealm can definitely help people to know the commonality of these runtimes.

I'd hope that, ideally, the [Exposed=*] list is a subset of the WinterCG list; if we deviate from that, we should understand why.

I'm wondering if events like ErrorEvent or PromiseRejectionEvent are common to WinterCG. It should meet the bar of at least two runtimes implemented them, but I suppose they are not going to be implemented in Node.js anyway.

@littledan
Copy link
Author

We discussed this list in the 2022-07-14 WinterCG call. The list seems to be a subset of the common minimum API discussed here, so [Exposed=*] makes sense to apply to WinterCG environments, and conversely, ShadowRealms created inside of a WinterCG environment should contain all the same APIs as on the web. We agreed to audit the list more fully to confirm these properties.

@andreubotella
Copy link
Member

andreubotella commented May 10, 2023

It seems like there are [Exposed=*] interfaces which aren't in the list. In particular:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants