@@ -10034,9 +10034,10 @@ o.myself = o;</code></pre>
1003410034
1003510035 <p>The <code>Document</code> object's <dfn data-x="concept-document-origin"
1003610036 data-x-href="https://dom.spec.whatwg.org/#concept-document-origin"
10037- data-x-for="Document">origin</dfn> is defined in <cite>DOM</cite>. It is initially set when the
10038- <code>Document</code> object is created, and can change during the lifetime of the
10039- <code>Document</code> only upon setting <code
10037+ data-x-for="Document">origin</dfn> is defined in <cite>DOM</cite>. It currently aliases the
10038+ value of its <span data-x="concept-document-policy-container">policy container</span>'s
10039+ <span data-x=policy-container-origin>origin</span>. This origin can change during the lifetime
10040+ of the <code>Document</code> upon setting <code
1004010041 data-x="dom-document-domain">document.domain</code>. A <code>Document</code>'s <span
1004110042 data-x="concept-document-origin">origin</span> can differ from the <span
1004210043 data-x="concept-url-origin">origin</span> of its <span data-x="concept-document-url">URL</span>;
@@ -83457,6 +83458,10 @@ dictionary <dfn dictionary>DragEventInit</dfn> : <span>MouseEventInit</span> {
8345783458 <!-- Note: each item has to define a default value for creating a new policy container. -->
8345883459
8345983460 <ul>
83461+ <li><p>An <dfn export for="policy container" data-x="policy-container-origin">origin</dfn>,
83462+ which is an <span>origin</span>. It is initially an <span
83463+ data-x="concept-origin-opaque">opaque origin</span>.</p></li>
83464+
8346083465 <li><p>A <dfn export for="policy container" data-x="policy-container-csp-list">CSP list</dfn>,
8346183466 which is a <span data-x="concept-csp-list">CSP list</span>. It is initially empty.</p></li>
8346283467
@@ -83477,6 +83482,9 @@ dictionary <dfn dictionary>DragEventInit</dfn> : <span>MouseEventInit</span> {
8347783482 <ol>
8347883483 <li><p>Let <var>clone</var> be a new <span>policy container</span>.</p></li>
8347983484
83485+ <li><p>Set <var>clone</var>'s <span data-x="policy-container-origin">origin</span> to
83486+ <var>policyContainer</var>'s <span data-x="policy-container-origin">origin</span>.</p></li>
83487+
8348083488 <li><p><span data-x="list iterate">For each</span> <var>policy</var> in
8348183489 <var>policyContainer</var>'s <span data-x="policy-container-csp-list">CSP list</span>, <span
8348283490 data-x="list append">append</span> a copy of <var>policy</var> into <var>clone</var>'s <span
@@ -83528,6 +83536,10 @@ dictionary <dfn dictionary>DragEventInit</dfn> : <span>MouseEventInit</span> {
8352883536
8352983537 <li><p>Let <var>result</var> be a new <span>policy container</span>.</p></li>
8353083538
83539+ <li><p>Set <var>result</var>'s <span data-x="policy-container-origin">origin</span> to
83540+ <var>response</var>'s <span data-x="concept-response-url">URL</span>'s
83541+ <span data-x="concept-url-origin">origin</span>.</p></li>
83542+
8353183543 <li><p>Set <var>result</var>'s <span data-x="policy-container-csp-list">CSP list</span> to the
8353283544 result of <span data-x="parse-response-csp">parsing a response's Content Security Policies</span>
8353383545 given <var>response</var>.</p></li>
@@ -83583,7 +83595,9 @@ dictionary <dfn dictionary>DragEventInit</dfn> : <span>MouseEventInit</span> {
8358383595 <li><p>If <var>responsePolicyContainer</var> is not null, then return
8358483596 <var>responsePolicyContainer</var>.</p></li>
8358583597
83586- <li><p>Return a new <span>policy container</span>.</p></li>
83598+ <li><p>Return a new <span>policy container</span> whose <span
83599+ data-x="policy-container-origin">origin</span> is <var>responseURL</var>'s
83600+ <span data-x="concept-url-origin">origin</span>.</p></li>
8358783601 </ol>
8358883602
8358983603 <p>To <dfn data-x="initialize worker policy container">initialize a worker global scope's policy
@@ -85037,12 +85051,6 @@ interface <dfn interface>BarProp</dfn> {
8503785051 <span data-x="concept-document-window">associated <code>Document</code></span>.</p>
8503885052 </dd>
8503985053
85040- <dt>The <span data-x="concept-settings-object-origin">origin</span></dt>
85041- <dd>
85042- <p>Return the <span data-x="concept-document-origin">origin</span> of <var>window</var>'s
85043- <span data-x="concept-document-window">associated <code>Document</code></span>.</p>
85044- </dd>
85045-
8504685054 <dt>The <span data-x="concept-settings-object-policy-container">policy container</span></dt>
8504785055 <dd>
8504885056 <p>Return the <span data-x="concept-document-policy-container">policy container</span> of
@@ -88167,9 +88175,6 @@ interface <dfn interface>BeforeUnloadEvent</dfn> : <span>Event</span> {
8816788175 <dt><span data-x="concept-document-mode">mode</span></dt>
8816888176 <dd>"<code data-x="">quirks</code>"</dd>
8816988177
88170- <dt><span data-x="concept-document-origin">origin</span></dt>
88171- <dd><var>origin</var></dd>
88172-
8817388178 <dt><span data-x="concept-document-bc">browsing context</span></dt>
8817488179 <dd><var>browsingContext</var>
8817588180
@@ -89479,9 +89484,6 @@ location.href = '#foo';</code></pre>
8947989484 <dd>a <span data-x="concept-response">response</span> that ultimately was navigated to
8948089485 (potentially a <span>network error</span>)</dd>
8948189486
89482- <dt><dfn data-x="navigation-params-origin">origin</dfn></dt>
89483- <dd>an <span>origin</span> to use for the new <code>Document</code></dd>
89484-
8948589487 <dt><dfn data-x="navigation-params-policy-container">policy container</dfn></dt>
8948689488 <dd>a <span>policy container</span> to use for the new <code>Document</code></dd>
8948789489
@@ -89827,6 +89829,9 @@ location.href = '#foo';</code></pre>
8982789829 <var>finalSandboxFlags</var>, <var>documentState</var>'s <span
8982889830 data-x="document-state-initiator-origin">initiator origin</span>, and null.</p></li>
8982989831
89832+ <li><p>Set <var>policyContainer</var>'s <span data-x="policy-container-origin">origin</span>
89833+ to <var>responseOrigin</var>.</p></li>
89834+
8983089835 <li><p>Let <var>coop</var> be a new <span>cross-origin opener policy</span>.</p></li>
8983189836
8983289837 <li>
@@ -89859,9 +89864,6 @@ location.href = '#foo';</code></pre>
8985989864 <dt><span data-x="navigation-params-response">response</span></dt>
8986089865 <dd><var>response</var></dd>
8986189866
89862- <dt><span data-x="navigation-params-origin">origin</span></dt>
89863- <dd><var>responseOrigin</var></dd>
89864-
8986589867 <dt><span data-x="navigation-params-policy-container">policy container</span></dt>
8986689868 <dd><var>policyContainer</var></dd>
8986789869
@@ -90231,11 +90233,10 @@ location.href = '#foo';</code></pre>
9023190233 <dt><span data-x="navigation-params-response">response</span></dt>
9023290234 <dd><var>response</var></dd>
9023390235
90234- <dt><span data-x="navigation-params-origin">origin</span></dt>
90235- <dd><var>newDocumentOrigin</var></dd>
90236-
9023790236 <dt><span data-x="navigation-params-policy-container">policy container</span></dt>
90238- <dd><var>policyContainer</var></dd>
90237+ <dd>a <span data-x="clone a policy container">clone</span> of <var>policyContainer</var>
90238+ with its <span data-x="policy-container-origin">origin</span> set to
90239+ <var>newDocumentOrigin</var></dd>
9023990240
9024090241 <dt><span data-x="navigation-params-sandboxing">final sandboxing flag set</span></dt>
9024190242 <dd><var>finalSandboxFlags</var></dd>
@@ -91034,7 +91035,8 @@ location.href = '#foo';</code></pre>
9103491035 data-x="navigation-params-response">response</span>, <var>navigable</var>,
9103591036 <var>navigationParams</var>'s <span data-x="navigation-params-policy-container">policy
9103691037 container</span>'s <span data-x="policy-container-csp-list">CSP list</span>, and
91037- <var>navigationParams</var>'s <span data-x="navigation-params-origin">origin</span> is false,
91038+ <var>navigationParams</var>'s <span data-x="navigation-params-policy-container">policy
91039+ container</span>'s <span data-x="policy-container-origin">origin</span> is false,
9103891040 then set <var>failure</var> to true.</p></li>
9103991041
9104091042 <li>
@@ -91223,6 +91225,9 @@ location.href = '#foo';</code></pre>
9122391225 <var>navigable</var>'s <span data-x="nav-container-document">container document</span>'s <span
9122491226 data-x="concept-document-policy-container">policy container</span>, and null.</p></li>
9122591227
91228+ <li><p>Set <var>policyContainer</var>'s <span data-x="policy-container-origin">origin</span>
91229+ to <var>responseOrigin</var>.</p></li>
91230+
9122691231 <li>
9122791232 <p>Return a new <span>navigation params</span>, with</p>
9122891233
@@ -91236,9 +91241,6 @@ location.href = '#foo';</code></pre>
9123691241 <dt><span data-x="navigation-params-response">response</span></dt>
9123791242 <dd><var>response</var></dd>
9123891243
91239- <dt><span data-x="navigation-params-origin">origin</span></dt>
91240- <dd><var>responseOrigin</var></dd>
91241-
9124291244 <dt><span data-x="navigation-params-policy-container">policy container</span></dt>
9124391245 <dd><var>policyContainer</var></dd>
9124491246
@@ -91811,6 +91813,9 @@ location.href = '#foo';</code></pre>
9181191813 <var>sourceSnapshotParams</var>'s <span data-x="source-snapshot-params-policy-container">source
9181291814 policy container</span>, null, and <var>responsePolicyContainer</var>.</p></li>
9181391815
91816+ <li><p>Set <var>resultPolicyContainer</var>'s <span
91817+ data-x="policy-container-origin">origin</span> to <var>responseOrigin</var></p></li>.
91818+
9181491819 <li>
9181591820 <p>Return a new <span>navigation params</span>, with</p>
9181691821
@@ -91824,9 +91829,6 @@ location.href = '#foo';</code></pre>
9182491829 <dt><span data-x="navigation-params-response">response</span></dt>
9182591830 <dd><var>response</var></dd>
9182691831
91827- <dt><span data-x="navigation-params-origin">origin</span></dt>
91828- <dd><var>responseOrigin</var></dd>
91829-
9183091832 <dt><span data-x="navigation-params-policy-container">policy container</span></dt>
9183191833 <dd><var>resultPolicyContainer</var></dd>
9183291834
@@ -93174,7 +93176,8 @@ location.href = '#foo';</code></pre>
9317493176 <li>
9317593177 <p>Let <var>permissionsPolicy</var> be the result of <span>creating a permissions policy from a
9317693178 response</span> given <var>browsingContext</var>, <var>navigationParams</var>'s <span
93177- data-x="navigation-params-origin">origin</span>, and <var>navigationParams</var>'s <span
93179+ data-x="navigation-params-policy-container">policy container</span>'s <span
93180+ data-x="policy-container-origin">origin</span>, and <var>navigationParams</var>'s <span
9317893181 data-x="navigation-params-response">response</span>. <ref spec="PERMISSIONSPOLICY"></p>
9317993182
9318093183 <div class="note">
@@ -93209,7 +93212,8 @@ location.href = '#foo';</code></pre>
9320993212 <code>about:blank</code></span> is true, and <var>browsingContext</var>'s <span>active
9321093213 document</span>'s <span data-x="concept-document-origin">origin</span> is <span>same
9321193214 origin-domain</span> with <var>navigationParams</var>'s <span
93212- data-x="navigation-params-origin">origin</span>, then set <var>window</var> to
93215+ data-x="navigation-params-policy-container">policy container</span>'s <span
93216+ data-x="policy-container-origin">origin</span>, then set <var>window</var> to
9321393217 <var>browsingContext</var>'s <span>active window</span>.</p>
9321493218
9321593219 <p class="note">This means that both the <span data-x="is initial about:blank">initial
@@ -93236,7 +93240,8 @@ location.href = '#foo';</code></pre>
9323693240
9323793241 <li><p>Let <var>agent</var> be the result of <span
9323893242 data-x="obtain-similar-origin-window-agent">obtaining a similar-origin window agent</span>
93239- given <var>navigationParams</var>'s <span data-x="navigation-params-origin">origin</span>,
93243+ given <var>navigationParams</var>'s <span data-x="navigation-params-policy-container">policy
93244+ container</span>'s <span data-x="policy-container-origin">origin</span>,
9324093245 <var>browsingContext</var>'s <span data-x="tlbc group">group</span>, and
9324193246 <var>requestsOAC</var>.</p></li>
9324293247
@@ -93258,7 +93263,8 @@ location.href = '#foo';</code></pre>
9325893263 <li><p>Let <var>topLevelCreationURL</var> be <var>creationURL</var>.</p></li>
9325993264
9326093265 <li><p>Let <var>topLevelOrigin</var> be <var>navigationParams</var>'s <span
93261- data-x="navigation-params-origin">origin</span>.</p></li>
93266+ data-x="navigation-params-policy-container">policy container</span>'s <span
93267+ data-x="policy-container-origin">origin</span>.</p></li>
9326293268
9326393269 <li>
9326493270 <p>If <var>navigable</var>'s <span data-x="nav-container">container</span> is not null,
@@ -93302,9 +93308,6 @@ location.href = '#foo';</code></pre>
9330293308 <dt><span data-x="concept-document-content-type">content type</span></dt>
9330393309 <dd><var>contentType</var></dd>
9330493310
93305- <dt><span data-x="concept-document-origin">origin</span></dt>
93306- <dd><var>navigationParams</var>'s <span data-x="navigation-params-origin">origin</span></dd>
93307-
9330893311 <dt><span data-x="concept-document-bc">browsing context</span></dt>
9330993312 <dd><var>browsingContext</var>
9331093313
@@ -93783,9 +93786,6 @@ new PaymentRequest(…); // Allowed to use
9378393786 <dt><span data-x="navigation-params-response">response</span></dt>
9378493787 <dd>a new <span data-x="concept-response">response</span></dd>
9378593788
93786- <dt><span data-x="navigation-params-origin">origin</span></dt>
93787- <dd><var>origin</var></dd>
93788-
9378993789 <dt><span data-x="navigation-params-policy-container">policy container</span></dt>
9379093790 <dd>a new <span>policy container</span></dd>
9379193791
@@ -94956,7 +94956,8 @@ new PaymentRequest(…); // Allowed to use
9495694956 settings object">origin</dfn></dt>
9495794957
9495894958 <dd>
94959- <p>An <span>origin</span> used in security checks.</p>
94959+ <p>This objects <span data-x="concept-settings-object-policy-container">policy
94960+ container</span>'s <span data-x="policy-container-origin">origin</span>.</p>
9496094961 </dd>
9496194962
9496294963 <dt>A <dfn data-x="concept-settings-object-policy-container" export
@@ -107329,6 +107330,12 @@ interface <dfn interface>SharedWorkerGlobalScope</dfn> : <span>WorkerGlobalScope
107329107330 <code>SharedWorkerGlobalScope</code> object created in the previous step.</p>
107330107331 </li>
107331107332
107333+ <li><p>Set <var>worker global scope</var>'s
107334+ <span data-x="concept-WorkerGlobalScope-policy-container">policy container</span>'s
107335+ <span data-x="policy-container-origin">origin</span> to <var>outside settings</var>'s
107336+ <span data-x="concept-settings-object-policy-container">policy container</span>'s
107337+ <span data-x="policy-container-origin">origin</span>.</p></li>
107338+
107332107339 <li><p><span>Set up a worker environment settings object</span> with <var>realm execution
107333107340 context</var>, <var>outside settings</var>, and <var>unsafeWorkerCreationTime</var>, and let
107334107341 <var>inside settings</var> be the result.</p></li>
@@ -107732,14 +107739,6 @@ interface <dfn interface>SharedWorkerGlobalScope</dfn> : <span>WorkerGlobalScope
107732107739 data-x="concept-WorkerGlobalScope-url">url</span>.</p>
107733107740 </dd>
107734107741
107735- <dt>The <span data-x="concept-settings-object-origin">origin</span></dt>
107736- <dd>
107737- <p>Return a unique <span data-x="concept-origin-opaque">opaque origin</span> if <var>worker
107738- global scope</var>'s <span data-x="concept-WorkerGlobalScope-url">url</span>'s <span
107739- data-x="concept-url-scheme">scheme</span> is "<code data-x="">data</code>", and <var>inherited
107740- origin</var> otherwise.</p>
107741- </dd>
107742-
107743107742 <dt>The <span data-x="concept-settings-object-policy-container">policy container</span></dt>
107744107743 <dd>
107745107744 <p>Return <var>worker global scope</var>'s <span
@@ -107760,6 +107759,18 @@ interface <dfn interface>SharedWorkerGlobalScope</dfn> : <span>WorkerGlobalScope
107760107759 </dl>
107761107760 </li>
107762107761
107762+ <li><p><span>Assert</span> that <var>settings object</var>'s <span
107763+ data-x="concept-settings-object-policy-container">policy container</span>'s <span
107764+ data-x="policy-container-origin">origin</span> is an <span data-x="concept-origin-opaque">opaque
107765+ origin</span>.</p></li>
107766+
107767+ <li><p>If <var>worker global scope</var>'s <span
107768+ data-x="concept-WorkerGlobalScope-url">url</span>'s <span
107769+ data-x="concept-url-scheme">scheme</span> is not "<code data-x="">data</code>", then set
107770+ <var>settings object</var>'s <span data-x="concept-settings-object-policy-container">policy
107771+ container</span>'s <span data-x="policy-container-origin">origin</span> to <var>inherited
107772+ origin</var>.</p></li>
107773+
107763107774 <li><p>Set <var>settings object</var>'s <span data-x="concept-environment-id">id</span> to a new
107764107775 unique opaque string, <span data-x="concept-environment-creation-url">creation URL</span> to
107765107776 <var>worker global scope</var>'s <span>url</span>, <span>top-level creation URL</span> to null,
@@ -108895,8 +108906,6 @@ interface <dfn interface>WorkletGlobalScope</dfn> {};</code></pre>
108895108906 object</span> <var>outsideSettings</var>:</p>
108896108907
108897108908 <ol>
108898- <li><p>Let <var>origin</var> be a unique <span data-x="concept-origin-opaque">opaque
108899- origin</span>.</p></li>
108900108909
108901108910 <li><p>Let <var>inheritedAPIBaseURL</var> be <var>outsideSettings</var>'s <span>API base
108902108911 URL</span>.</p></li>
@@ -108944,11 +108953,6 @@ interface <dfn interface>WorkletGlobalScope</dfn> {};</code></pre>
108944108953 available to worklet code make use of the <span>API base URL</span>.</p>
108945108954 </dd>
108946108955
108947- <dt>The <span data-x="concept-settings-object-origin">origin</span></dt>
108948- <dd>
108949- <p>Return <var>origin</var>.</p>
108950- </dd>
108951-
108952108956 <dt>The <span data-x="concept-settings-object-policy-container">policy container</span></dt>
108953108957 <dd>
108954108958 <p>Return <var>inheritedPolicyContainer</var>.</p>
0 commit comments