Skip to content

Commit 1e17081

Browse files
committed
Move origin into policy container. (whatwg#8302)
This change also depends on whatwg/dom#1142.
1 parent f00c939 commit 1e17081

File tree

1 file changed

+60
-56
lines changed

1 file changed

+60
-56
lines changed

source

+60-56
Original file line numberDiff line numberDiff line change
@@ -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(&hellip;); // 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(&hellip;); // 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

Comments
 (0)