@@ -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