diff --git a/source b/source index 2ea03adf1cb..29e4d1c559c 100644 --- a/source +++ b/source @@ -83348,7 +83348,9 @@ interface BarProp { data-x="dom-document-domain">document.domain setter has been used.
Because of these security pitfalls, this feature is in the process of being removed from the - web platform. (This is a long process that takes many years.)
+ web platform. It is no longer available by default, because by default + documents are placed in an origin-keyed agent cluster, which + disables thedocument.domain
setter.
Instead, use postMessage()
or
MessageChannel
objects to communicate across origins in a safe manner.
A Document
delivered over a secure context can request that it be
- placed in an origin-keyed agent
- cluster, by using the `Origin-Agent-Cluster
` HTTP
- response header. This header is a structured header
+
By default, a Document
is placed in an
+ origin-keyed agent
+ cluster. The Origin-Agent-Cluster
`
+ HTTP response header can be used to instead request placement in a
+ site-keyed agent
+ cluster. This header is a structured header
whose value must be a boolean.
Per the processing model in the create
and initialize a new Document
object, valuesValues
that are not the structured header boolean
- true value (i.e., `?1
`) will be ignored.
?0
`) will be ignored.
The consequences of using this header are that the resulting
Document
's agent cluster key is its origin, instead of the corresponding site. In terms of observable effects, this means that attempting
- to relax the same-origin restriction using
- document.domain
will instead do nothing, and it will not
- be possible to send WebAssembly.Module
objects to cross-origin Document
s
- (even if they are same site). Behind the scenes, this isolation can allow user agents
- to allocate implementation-specific resources corresponding to agent
- clusters, such as processes or threads, more efficiently.
document.domain
will work, while in
+ the default case it will do nothing. Likewise, it will be possible to send
+ WebAssembly.Module
objects to cross-origin Document
s
+ (if they are same site). Behind the scenes, this choice may
+ prevent user agents from allocating implementation-specific resources corresponding to
+ agent clusters more efficiently, such as processes or threads.
Note that within a browsing context group, the ` Similarly, Origin-Agent-Cluster
`
header can never cause same-origin Document
objects to end up in different BarProp {
Document
s whose agent cluster's
cross-origin isolation mode is not
- "none
" are automatically origin-keyed. The
- `Origin-Agent-Cluster
` header might be useful as an additional hint to
- implementations about resource allocation, since the `Cross-Origin-Opener-Policy
` and
- `Cross-Origin-Embedder-Policy
` headers used to achieve cross-origin isolation are
- more about ensuring that everything in the same address space opts in to being there. But adding
- it would have no additional observable effects on author code.none
" are automatically origin-keyed.
Let requestsOAC be true if oacHeader is not +
Let requestsOAC be false if oacHeader is not null and oacHeader[0] is the boolean true; otherwise false.
If navigationParams's reserved environment is a @@ -90609,7 +90609,8 @@ interface BeforeUnloadEvent : Event {
If the encompassing agent cluster's is origin-keyed is true, then
all the Window
objects will be same origin, can reach each other
- directly, and document.domain
will no-op.
document.domain
will no-op.
+ This is the default case.
Two Window
objects that are same origin can be in
different similar-origin window agents, for
@@ -90704,10 +90705,11 @@ interface BeforeUnloadEvent : Event {
The following defines the allocation of the agent clusters of similar-origin window agents.
+An agent cluster key is a site or tuple origin. Without web developer action to achieve origin-keyed agent clusters, it will be a - site.
+ data-x="concept-origin-tuple">tuple origin. By default these will be + origin-keyed agent clusters, but + with developer action they may also be site-keyed.An equivalent formulation is that an agent cluster key can be a scheme-and-host or an origin.
@@ -127809,6 +127811,7 @@ INSERT INTERFACES HERE Daniel Steinberg, Daniel Tan, Daniel Trebbien, + Daniel Vogelheim, Danny Sullivan, Daphne Preston-Kendal, Darien Maillet Valentine,