← Back to release summary
Origin-keyed agent clusters
- Category
- Performance
- Type
- New or changed feature
- Status
- Enabled by default (Chrome 88)
- Intent stage
- Shipped
WPT details: https://wpt.fyi/results/origin-isolation?label=master&label=experimental&product=chrome&product=firefox&product=safari&aligned
Summary
Origin-keyed agent clusters allows developers to opt in to giving up certain cross-origin same-site access capabilities — namely synchronous scripting via document.domain, and postMessage()ing WebAssembly.Module instances.
This gives the browser more flexibility in implementation technologies. In particular, in Chrome, we will use this as a hint to put the origin in its own process, subject to resource or platform limitations.
Motivation
Certain legacy features prevent us from aligning the process boundary with the origin boundary, meaning that sometimes origins share a process with other origins. Origin-keyed agent clusters allows developers to voluntarily give up these legacy features, in exchange for potentially getting their own process.
Reasons why a site may want a separate process include: performance isolation, allocations of large amounts of memory, and improved memory measurement.
Standards & signals
- Specification: https://html.spec.whatwg.org/multipage/origin.html#origin-keyed-agent-clusters
- Firefox: Positive
- Safari: Neutral
- Web developers: Positive — Several Google Workspace products are interested in using this feature for better performance isolation, and to increase the accuracy of memory measurements. Previous and ongoing experiments have shown positive results with other forms of origin-keyed agent clusters that are not web-developer-controllable (e.g. enterprise policy or Finch). Google Workspace is excited about this mechanism, for allowing them to control origin-keyed agent clusters directly, and has been testing it during the origin trial period with preliminary positive results.
- Tracking bug: https://bugs.chromium.org/p/chromium/issues/detail?id=1042415
Ecosystem
Samples: https://origin-agent-cluster-demo.dev/
Explainers: https://github.com/WICG/origin-agent-cluster/blob/master/README.md
View on chromestatus.com