diff --git a/source b/source index 260d0228fa1..65164728782 100644 --- a/source +++ b/source @@ -2460,7 +2460,8 @@ a.setAttribute('href', 'https://example.com/'); // change the content attribute
The following terms are defined in MIME Sniffing:
@@ -2486,6 +2487,7 @@ a.setAttribute('href', 'https://example.com/'); // change the content attributeabout:blank
Origin
` headerCross-Origin-Resource-Policy
` headerRequestCredentials
enumerationRequestDestination
enumerationfetch()
methodThe following terms are defined in Reporting:
+ +ReportingObserver
sThe following features are defined in Cross-Origin Embedder Policy:
- -Cross-Origin-Embedder-Policy
` headerDocument
.
+ The Document
has an embedder
+ policy (an embedder policy).
The Document
has a CSP list, which is a CSP list
containing all of the Content Security Policy objects active for the document. The
@@ -76674,6 +76684,10 @@ popup4.close();
referrer policy to creator's
referrer policy.
If creator is non-null, then set document's + embedder policy to creator's + embedder policy.
Add document to browsingContext's session history.
Return document's referrer policy.
Return window's associated
+ Document
's embedder
+ policy.
If value[0] is "same-origin
", then:
Let coep be the result of obtaining a cross-origin embedder - policy from response.
Let coep be the result of obtaining + an embedder policy from response.
If coep is "require-corp
", then return "same-origin-plus-COEP
".
An embedder policy value controls the fetching of cross-origin + resources without explicit permission from resource owners. There are two such values:
+ +unsafe-none
"This is the default value. When this value is used, cross-origin resources can be fetched
+ without giving explicit permission through the CORS protocol or the
+ `Cross-Origin-Resource-Policy
` header.
require-corp
"When this value is used, fetching cross-origin resources requires the server's
+ explicit permission through the CORS protocol or the
+ `Cross-Origin-Resource-Policy
` header.
An embedder policy consists of:
+ +A value, which is an embedder policy value, initially "unsafe-none
".
A reporting endpoint string, initially the empty string.
A report only value, which is an embedder policy value, initially
+ "unsafe-none
".
A report only reporting endpoint string, initially the empty + string.
The "coep
" report type is a report type
+ whose value is "coep
". It is visible to
+ ReportingObserver
s.
The ` The valid token values are the embedder policy values. The token may also have attached parameters; of these, the " The processing model fails open (by defaulting
+ to " (The same applies to ` To obtain an embedder policy from a response response: Let policy be a new embedder policy. Let parsedItem be the result of getting a structured header
+ with ` If parsedItem is neither failure nor null and parsedItem[0] is " Set policy's value to " If parsedItem[1][" Set parsedItem to the result of getting a structured header
+ with ` If parsedItem is neither failure nor null and parsedItem[0] is " Set policy's report only
+ value to " If parsedItem[1][" Return policy. To check a navigation response's adherence to its embedder policy given a response response and a browsing context
+ target: If target is not a child browsing context, then return
+ true. Let responsePolicy be the result of obtaining an embedder policy from response. Let parentPolicy be target's container document's embedder policy. If parentPolicy's report only
+ value is " If parentPolicy's value is " Queue a cross-origin embedder policy inheritance violation with
+ response, " Return false. To check a global object's embedder policy given a If workerGlobalScope is not a Let policy be workerGlobalScope's embedder policy.
+
+ Let ownerPolicy be owner's embedder policy.
+
+ If ownerPolicy's report only
+ value is " If ownerPolicy's value is " Queue a cross-origin embedder policy inheritance violation with
+ response, " Return false. To queue a cross-origin embedder policy inheritance violation given a response response, a string type, a string
+ endpoint, and an environment settings object settings: Let serialized be the result of serializing a response URL for
+ reporting with response. Let body be a new object containing the following properties: Queue body as the
+ "Cross-Origin-Embedder-Policy
` and
+ `Cross-Origin-Embedder-Policy-Report-Only
` HTTP response header fields allow a server
+ to declare an embedder policy for an environment settings object. These
+ headers are structured headers whose values must be
+ token.
+
+ report-to
" parameter can have a valid URL
+ string identifying an appropriate reporting endpoint. unsafe-none
") in the presence of a header that cannot
+ be parsed as a token. This includes inadvertent lists created by combining multiple instances of
+ the `Cross-Origin-Embedder-Policy
` header present in a given response:
+
+
+
+
+
+
+
+ `
+ Cross-Origin-Embedder-Policy
`Final embedder policy value
+
+
+ No header delivered
+ "
+ unsafe-none
"
+
+ `
+ require-corp
`"
+ require-corp
"
+
+ `
+ unknown-value
`"
+ unsafe-none
"
+
+ `
+ require-corp, unknown-value
`"
+ unsafe-none
"
+
+ `
+ unknown-value, unknown-value
`"
+ unsafe-none
"
+
+ `
+ unknown-value, require-corp
`"
+ unsafe-none
"
+
+
+ `
+ require-corp, require-corp
`"
+ unsafe-none
"Cross-Origin-Embedder-Policy-Report-Only
`.)
+
+
+
+
+ Cross-Origin-Embedder-Policy
` and "item
".require-corp
":
+
+ require-corp
".report-to
"] exists, then set policy's endpoint to parsedItem[1]["report-to
"].Cross-Origin-Embedder-Policy-Report-Only
` and "item
".require-corp
":
+
+ require-corp
".report-to
"] exists, then set policy's report only reporting endpoint
+ to parsedItem[1]["report-to
"].Embedder policy checks
+
+
+
+
+ require-corp
" and
+ responsePolicy's value is "unsafe-none
", then queue a cross-origin embedder policy
+ inheritance violation with response, "navigation
",
+ parentPolicy's report
+ only reporting endpoint, and target's container document's relevant settings
+ object.unsafe-none
" or responsePolicy's value is "require-corp
", then return true.navigation
", parentPolicy's reporting endpoint, and target's
+ container document's relevant settings
+ object.WorkerGlobalScope
+ workerGlobalScope, an environment settings object owner, and
+ a response response:
+
+
+ DedicatedWorkerGlobalScope
object,
+ then return true.require-corp
" and policy's
+ value is "unsafe-none
", then queue a cross-origin embedder policy
+ inheritance violation with response, "worker
+ initialization
", owner's policy's report only reporting endpoint,
+ and owner.unsafe-none
" or policy's value is "require-corp
", then return true.worker initialization
", owner's policy's
+ reporting endpoint, and
+ owner.
+
+
+
+
+
+
+
+
+
+
+ key
+ value
+
+
+ type
+ type
+
+
+
+ blocked-url
+ serialized
+ coep
" report type for endpoint on settings.
+ Session history and navigation
Browsing sessions
@@ -82265,6 +82554,22 @@ interface Location { // but see also container document's origin,
+ browsingContext's container
+ document's relevant settings object, response, and true is
+ blocked, then set response to a network error and
+ break.
Here we're running the cross-origin resource policy check + against the parent browsing context rather than + sourceBrowsingContext. This is because we care about the same-originness of the + embedded content against the parent context, not the navigation source.
+ +If response does not have a location URL or the Location { // but see also Blocked" when executed upon request, response, navigationType, source, and browsingContext.
The result of checking a + navigation response's adherence to its embedder policy with response + and browsingContext is false.
This is where the network errors defined and propagated by Fetch, @@ -82767,6 +83077,10 @@ interface Location { // but see also
+Set document's embedder + policy to the result of obtaining an + embedder policy from response.
Initialize a Document
's CSP list given
document, response, and request.
The default referrer policy for fetches
performed using this environment settings object as a request client.
+
+ An embedder policy used by cross-origin resource policy checks for fetches
+ performed using this environment settings object as a request client. An environment settings object also has an outstanding rejected promises
@@ -98159,6 +98481,10 @@ interface WorkerGlobalScope : EventTarget {
data-dfn-for="WorkerGlobalScope" data-x="concept-WorkerGlobalScope-referrer-policy">referrer
policy (a referrer policy). It is initially the empty string. A A WorkerGlobalScope
object has an associated embedder
+ policy (an embedder policy).WorkerGlobalScope
object has an associated CSP list, which
is a CSP list containing all of the Content Security
@@ -98603,6 +98929,22 @@ interface SharedWorkerGlobalScope : WorkerGlobalScope {
parsing the `Referrer-Policy
`
header of response.
If response's url's scheme is a local scheme, then set + worker global scope's embedder policy to owner's + embedder policy.
Otherwise, set worker global scope's embedder policy to the result of + obtaining an embedder policy from + response.
If the result of checking a + global object's embedder policy with worker global scope, owner, + and response is false, then set response to a network + error.
Execute the Initialize a global object
's CSP list
algorithm on worker global scope and response.
Return worker global scope's referrer policy.
Return worker global scope's embedder policy.
+text/event-stream
resources.
+ Cross-Origin-Embedder-Policy
`This section describes a header for registration in the Permanent Message Header Field + Registry.
+ +Cross-Origin-Embedder-Policy-Report-Only
`This section describes a header for registration in the Permanent Message Header Field + Registry.
+ +Cross-Origin-Opener-Policy
`This section describes a header for registration in the Permanent Message Header Field @@ -120893,9 +121289,6 @@ INSERT INTERFACES HERE