-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Closed
Labels
clarificationStandard could be clearerStandard could be clearertopic: agentThe interaction with JavaScript's agent and agent cluster conceptsThe interaction with JavaScript's agent and agent cluster concepts
Description
In working on origin isolation I am finding it a bit annoying that only window agent creation is imperative. Let's figure out what it would look like to convert everything else.
Here's my first attempt:
- End goal:
- all realm creation ("create a new JavaScript realm" calls) include an agent pointer, either created on the spot or looked up from elsewhere.
- We delete the "can share memory with" equivalence relation and associated implicit definitions. (Maybe we keep them as informative?)
- Shared worker agents: creates a new agent and agent cluster on the spot. Does not need to store it in any map; all access can go through the shared worker.
- Service worker agents: same as shared worker agents.
- Worklet agent: grabs the owner document's agent cluster. Creates a new agent inside the agent cluster.
- Dedicated worker agent: grabs the "relevant owner to add"'s agent cluster. Creates a new agent inside the agent cluster.
Hmm, but how exactly do we grab the owner's agent cluster? We can get from document/WorkerGlobalScope to realm to agent, but not from agent to agent cluster. We could use spec magic and say "the agent cluster that contains the agent", but maybe it would be better to be more explicit and go via the browsing context group, etc.?
Metadata
Metadata
Assignees
Labels
clarificationStandard could be clearerStandard could be clearertopic: agentThe interaction with JavaScript's agent and agent cluster conceptsThe interaction with JavaScript's agent and agent cluster concepts