| 17:13 | <Andreu Botella (he/they)> | Hey. I was trying to understand the ShadowRealm proposal, and I noticed that the requirements for HostResolveImportedModules don't say anything about realms |
| 17:13 | <Andreu Botella (he/they)> | and IIUC the security properties of ShadowRealms need the realm to not share a module map with any other realms |
| 17:27 | <Andreu Botella (he/they)> | Also, the HTML spec's implementation of HostResolveImportedModules doesn't follow the requirements, since it always uses the current realm's module map, and if referencingScriptOrModule is null, that might result in different calls to that operation returning different module records |
| 17:27 | <Andreu Botella (he/they)> | I'd argue that's a bug with the TC39 spec |
| 20:20 | <Mathieu Hofman> | and IIUC the security properties of ShadowRealms need the realm to not share a module map with any other realms |
| 20:24 | <Mathieu Hofman> | I believe this is the issue where it was discussed: https://github.com/tc39/proposal-shadowrealm/issues/261 |
| 20:24 | <Mathieu Hofman> | I think there is a related whatwg issue |
| 20:27 | <Mathieu Hofman> | I believe this comment on the integration PR: https://github.com/whatwg/html/pull/5339#issuecomment-874588585 |
| 20:28 | <Andreu Botella (he/they)> | Thanks for those links, I hadn't been following the conversations and was trying to figure out how things worked purely from the spec proposal and how it interacts with the HTML spec as it is currently |
| 20:28 | <Andreu Botella (he/they)> | But my understanding was that, if a module is first instantiated in the parent realm, and then imported from a ShadowRealm, you could access the parent realm's intrinsic objects that way |
| 20:29 | <Andreu Botella (he/they)> | I don't think there's anything to stop that currently |
| 20:36 | <Mathieu Hofman> | Ah no, you don't get the same module instance. It's keyed on the realm. But the resolution is shared per document |
| 20:37 | <Andreu Botella (he/they)> | oh, so the actual fetch for a module script only happens once per document, but you have different module records per realm? |
| 20:37 | <Mathieu Hofman> | So you can observe with timing if the parent has the module in it's map, but you never directly share any objects |
| 20:40 | <Andreu Botella (he/they)> | But in that case, HostResolveImportedModules would still need to say something about realms |
| 22:06 | <Andreu Botella (he/they)> | I filed https://github.com/tc39/proposal-shadowrealm/issues/342 |