Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 17f8486

Browse files
committedJan 10, 2023
Move origin into policy container. (whatwg#8302)
This change also depends on whatwg/dom#1142.
1 parent 67994b2 commit 17f8486

File tree

1 file changed

+61
-57
lines changed

1 file changed

+61
-57
lines changed
 

‎source

+61-57
Original file line numberDiff line numberDiff line change
@@ -10016,9 +10016,10 @@ o.myself = o;</code></pre>
1001610016

1001710017
<p>The <code>Document</code> object's <dfn data-x="concept-document-origin"
1001810018
data-x-href="https://dom.spec.whatwg.org/#concept-document-origin"
10019-
data-x-for="Document">origin</dfn> is defined in <cite>DOM</cite>. It is initially set when the
10020-
<code>Document</code> object is created, and can change during the lifetime of the
10021-
<code>Document</code> only upon setting <code
10019+
data-x-for="Document">origin</dfn> is defined in <cite>DOM</cite>. It currently aliases to
10020+
value of its <span data-x=document-concept-policy-container>policy container</span>'s
10021+
<span data-x=policy-container-origin>origin</span>. This origin can change during the lifetime
10022+
of the <code>Document</code> upon setting <code
1002210023
data-x="dom-document-domain">document.domain</code>. A <code>Document</code>'s <span
1002310024
data-x="concept-document-origin">origin</span> can differ from the <span
1002410025
data-x="concept-url-origin">origin</span> of its <span data-x="concept-document-url">URL</span>;
@@ -83441,6 +83442,10 @@ dictionary <dfn dictionary>DragEventInit</dfn> : <span>MouseEventInit</span> {
8344183442
<!-- Note: each item has to define a default value for creating a new policy container. -->
8344283443

8344383444
<ul>
83445+
<li><p>An <dfn export for="policy container" data-dfn-for="Policy Container"
83446+
data-x="policy-container-origin">origin</dfn>, which is an <span>origin</span>. It is initially
83447+
an opaque origin.</p></li>
83448+
8344483449
<li><p>A <dfn export for="policy container" data-x="policy-container-csp-list">CSP list</dfn>,
8344583450
which is a <span data-x="concept-csp-list">CSP list</span>. It is initially empty.</p></li>
8344683451

@@ -83461,6 +83466,9 @@ dictionary <dfn dictionary>DragEventInit</dfn> : <span>MouseEventInit</span> {
8346183466
<ol>
8346283467
<li><p>Let <var>clone</var> be a new <span>policy container</span>.</p></li>
8346383468

83469+
<li><p>Set <var>clone</var>'s <span data-x="policy-container-origin">origin</span> to
83470+
<var>policyContainer</var>'s <span data-x="policy-container-origin">origin</span>.</p></li>
83471+
8346483472
<li><p><span data-x="list iterate">For each</span> <var>policy</var> in
8346583473
<var>policyContainer</var>'s <span data-x="policy-container-csp-list">CSP list</span>, <span
8346683474
data-x="list append">append</span> a copy of <var>policy</var> into <var>clone</var>'s <span
@@ -83512,6 +83520,10 @@ dictionary <dfn dictionary>DragEventInit</dfn> : <span>MouseEventInit</span> {
8351283520

8351383521
<li><p>Let <var>result</var> be a new <span>policy container</span>.</p></li>
8351483522

83523+
<li><p>Set <var>result</var>'s <span data-x="policy-container-origin">origin</span> to
83524+
<var>response</var>'s <span data-x="concept-response-url">URL</span>'s
83525+
<span data-x="concept-url-origin">origin</span>.</p></li>
83526+
8351583527
<li><p>Set <var>result</var>'s <span data-x="policy-container-csp-list">CSP list</span> to the
8351683528
result of <span data-x="parse-response-csp">parsing a response's Content Security Policies</span>
8351783529
given <var>response</var>.</p></li>
@@ -83567,7 +83579,9 @@ dictionary <dfn dictionary>DragEventInit</dfn> : <span>MouseEventInit</span> {
8356783579
<li><p>If <var>responsePolicyContainer</var> is not null, then return
8356883580
<var>responsePolicyContainer</var>.</p></li>
8356983581

83570-
<li><p>Return a new <span>policy container</span>.</p></li>
83582+
<li><p>Return a new <span>policy container</span> with its
83583+
<span data-x="policy-container-origin">origin</span> set to <var>responseURL</var>'s
83584+
<span data-x="concept-url-origin">origin</span>.</p></li>
8357183585
</ol>
8357283586

8357383587
<p>To <dfn data-x="initialize worker policy container">initialize a worker global scope's policy
@@ -85021,12 +85035,6 @@ interface <dfn interface>BarProp</dfn> {
8502185035
<span data-x="concept-document-window">associated <code>Document</code></span>.</p>
8502285036
</dd>
8502385037

85024-
<dt>The <span data-x="concept-settings-object-origin">origin</span></dt>
85025-
<dd>
85026-
<p>Return the <span data-x="concept-document-origin">origin</span> of <var>window</var>'s
85027-
<span data-x="concept-document-window">associated <code>Document</code></span>.</p>
85028-
</dd>
85029-
8503085038
<dt>The <span data-x="concept-settings-object-policy-container">policy container</span></dt>
8503185039
<dd>
8503285040
<p>Return the <span data-x="concept-document-policy-container">policy container</span> of
@@ -88151,9 +88159,6 @@ interface <dfn interface>BeforeUnloadEvent</dfn> : <span>Event</span> {
8815188159
<dt><span data-x="concept-document-mode">mode</span></dt>
8815288160
<dd>"<code data-x="">quirks</code>"</dd>
8815388161

88154-
<dt><span data-x="concept-document-origin">origin</span></dt>
88155-
<dd><var>origin</var></dd>
88156-
8815788162
<dt><span data-x="concept-document-bc">browsing context</span></dt>
8815888163
<dd><var>browsingContext</var>
8815988164

@@ -89463,9 +89468,6 @@ location.href = '#foo';</code></pre>
8946389468
<dd>a <span data-x="concept-response">response</span> that ultimately was navigated to
8946489469
(potentially a <span>network error</span>)</dd>
8946589470

89466-
<dt><dfn data-x="navigation-params-origin">origin</dfn></dt>
89467-
<dd>an <span>origin</span> to use for the new <code>Document</code></dd>
89468-
8946989471
<dt><dfn data-x="navigation-params-policy-container">policy container</dfn></dt>
8947089472
<dd>a <span>policy container</span> to use for the new <code>Document</code></dd>
8947189473

@@ -89811,6 +89813,9 @@ location.href = '#foo';</code></pre>
8981189813
<var>finalSandboxFlags</var>, <var>documentState</var>'s <span
8981289814
data-x="document-state-initiator-origin">initiator origin</span>, and null.</p></li>
8981389815

89816+
<li><p>Set <var>policyContainer</var>'s <span data-x="policy-container-origin">origin</span>
89817+
to <var>responseOrigin</var>.</p></li>
89818+
8981489819
<li><p>Let <var>coop</var> be a new <span>cross-origin opener policy</span>.</p></li>
8981589820

8981689821
<li>
@@ -89843,11 +89848,8 @@ location.href = '#foo';</code></pre>
8984389848
<dt><span data-x="navigation-params-response">response</span></dt>
8984489849
<dd><var>response</var></dd>
8984589850

89846-
<dt><span data-x="navigation-params-origin">origin</span></dt>
89847-
<dd><var>responseOrigin</var></dd>
89848-
8984989851
<dt><span data-x="navigation-params-policy-container">policy container</span></dt>
89850-
<dd><var>policyContainer</var></dd>
89852+
<dd><var>policyContainer</var>
8985189853

8985289854
<dt><span data-x="navigation-params-sandboxing">final sandboxing flag set</span></dt>
8985389855
<dd><var>finalSandboxFlags</var></dd>
@@ -90215,11 +90217,10 @@ location.href = '#foo';</code></pre>
9021590217
<dt><span data-x="navigation-params-response">response</span></dt>
9021690218
<dd><var>response</var></dd>
9021790219

90218-
<dt><span data-x="navigation-params-origin">origin</span></dt>
90219-
<dd><var>initiatorOrigin</var></dd>
90220-
9022190220
<dt><span data-x="navigation-params-policy-container">policy container</span></dt>
90222-
<dd><var>policyContainer</var></dd>
90221+
<dd>a <span data-x="clone a policy container">clone</span> of <var>policyContainer</var>
90222+
with its <span data-x="policy-container-origin">origin</span> set to
90223+
<var>initiatorOrigin</var></dd>
9022390224

9022490225
<dt><span data-x="navigation-params-sandboxing">final sandboxing flag set</span></dt>
9022590226
<dd><var>finalSandboxFlags</var></dd>
@@ -91018,7 +91019,8 @@ location.href = '#foo';</code></pre>
9101891019
data-x="navigation-params-response">response</span>, <var>navigable</var>,
9101991020
<var>navigationParams</var>'s <span data-x="navigation-params-policy-container">policy
9102091021
container</span>'s <span data-x="policy-container-csp-list">CSP list</span>, and
91021-
<var>navigationParams</var>'s <span data-x="navigation-params-origin">origin</span> is false,
91022+
<var>navigationParams</var>'s <span data-x="navigation-params-policy-container">policy
91023+
container</span>'s <span data-x="policy-container-origin">origin</span> is false,
9102291024
then set <var>failure</var> to true.</p></li>
9102391025

9102491026
<li>
@@ -91207,6 +91209,9 @@ location.href = '#foo';</code></pre>
9120791209
<var>navigable</var>'s <span data-x="nav-container-document">container document</span>'s <span
9120891210
data-x="concept-document-policy-container">policy container</span>, and null.</p></li>
9120991211

91212+
<li><p>Set <var>policyContainer</var>'s <span data-x="policy-container-origin">origin</span>
91213+
to <var>responseOrigin</var>.</p></li>
91214+
9121091215
<li>
9121191216
<p>Return a new <span>navigation params</span>, with</p>
9121291217

@@ -91220,9 +91225,6 @@ location.href = '#foo';</code></pre>
9122091225
<dt><span data-x="navigation-params-response">response</span></dt>
9122191226
<dd><var>response</var></dd>
9122291227

91223-
<dt><span data-x="navigation-params-origin">origin</span></dt>
91224-
<dd><var>responseOrigin</var></dd>
91225-
9122691228
<dt><span data-x="navigation-params-policy-container">policy container</span></dt>
9122791229
<dd><var>policyContainer</var></dd>
9122891230

@@ -91795,6 +91797,9 @@ location.href = '#foo';</code></pre>
9179591797
<var>sourceSnapshotParams</var>'s <span data-x="source-snapshot-params-policy-container">source
9179691798
policy container</span>, null, and <var>responsePolicyContainer</var>.</p></li>
9179791799

91800+
<li><p>Set <var>resultPolicyContainer</var>'s <span
91801+
data-x="policy-container-origin">origin</span> to <var>responseOrigin</var></p></li>.
91802+
9179891803
<li>
9179991804
<p>Return a new <span>navigation params</span>, with</p>
9180091805

@@ -91808,9 +91813,6 @@ location.href = '#foo';</code></pre>
9180891813
<dt><span data-x="navigation-params-response">response</span></dt>
9180991814
<dd><var>response</var></dd>
9181091815

91811-
<dt><span data-x="navigation-params-origin">origin</span></dt>
91812-
<dd><var>responseOrigin</var></dd>
91813-
9181491816
<dt><span data-x="navigation-params-policy-container">policy container</span></dt>
9181591817
<dd><var>resultPolicyContainer</var></dd>
9181691818

@@ -93158,7 +93160,8 @@ location.href = '#foo';</code></pre>
9315893160
<li>
9315993161
<p>Let <var>permissionsPolicy</var> be the result of <span>creating a permissions policy from a
9316093162
response</span> given <var>browsingContext</var>, <var>navigationParams</var>'s <span
93161-
data-x="navigation-params-origin">origin</span>, and <var>navigationParams</var>'s <span
93163+
data-x="navigation-params-policy-container">policy container</span>'s <span
93164+
data-x="policy-container-origin">origin</span>, and <var>navigationParams</var>'s <span
9316293165
data-x="navigation-params-response">response</span>. <ref spec="PERMISSIONSPOLICY"></p>
9316393166

9316493167
<div class="note">
@@ -93193,7 +93196,8 @@ location.href = '#foo';</code></pre>
9319393196
<code>about:blank</code></span> is true, and <var>browsingContext</var>'s <span>active
9319493197
document</span>'s <span data-x="concept-document-origin">origin</span> is <span>same
9319593198
origin-domain</span> with <var>navigationParams</var>'s <span
93196-
data-x="navigation-params-origin">origin</span>, then set <var>window</var> to
93199+
data-x="navigation-params-policy-container">policy container</span>'s <span
93200+
data-x="policy-container-origin">origin</span>, then set <var>window</var> to
9319793201
<var>browsingContext</var>'s <span>active window</span>.</p>
9319893202

9319993203
<p class="note">This means that both the <span data-x="is initial about:blank">initial
@@ -93220,7 +93224,8 @@ location.href = '#foo';</code></pre>
9322093224

9322193225
<li><p>Let <var>agent</var> be the result of <span
9322293226
data-x="obtain-similar-origin-window-agent">obtaining a similar-origin window agent</span>
93223-
given <var>navigationParams</var>'s <span data-x="navigation-params-origin">origin</span>,
93227+
given <var>navigationParams</var>'s <span data-x="navigation-params-policy-container">policy
93228+
container</span>'s <span data-x="policy-container-origin">origin</span>,
9322493229
<var>browsingContext</var>'s <span data-x="tlbc group">group</span>, and
9322593230
<var>requestsOAC</var>.</p></li>
9322693231

@@ -93242,7 +93247,8 @@ location.href = '#foo';</code></pre>
9324293247
<li><p>Let <var>topLevelCreationURL</var> be <var>creationURL</var>.</p></li>
9324393248

9324493249
<li><p>Let <var>topLevelOrigin</var> be <var>navigationParams</var>'s <span
93245-
data-x="navigation-params-origin">origin</span>.</p></li>
93250+
data-x="navigation-params-policy-container">policy container</span>'s <span
93251+
data-x="policy-container-origin">origin</span>.</p></li>
9324693252

9324793253
<li>
9324893254
<p>If <var>navigable</var>'s <span data-x="nav-container">container</span> is not null,
@@ -93286,9 +93292,6 @@ location.href = '#foo';</code></pre>
9328693292
<dt><span data-x="concept-document-content-type">content type</span></dt>
9328793293
<dd><var>contentType</var></dd>
9328893294

93289-
<dt><span data-x="concept-document-origin">origin</span></dt>
93290-
<dd><var>navigationParams</var>'s <span data-x="navigation-params-origin">origin</span></dd>
93291-
9329293295
<dt><span data-x="concept-document-bc">browsing context</span></dt>
9329393296
<dd><var>browsingContext</var>
9329493297

@@ -93767,9 +93770,6 @@ new PaymentRequest(&hellip;); // Allowed to use
9376793770
<dt><span data-x="navigation-params-response">response</span></dt>
9376893771
<dd>a new <span data-x="concept-response">response</span></dd>
9376993772

93770-
<dt><span data-x="navigation-params-origin">origin</span></dt>
93771-
<dd><var>origin</var></dd>
93772-
9377393773
<dt><span data-x="navigation-params-policy-container">policy container</span></dt>
9377493774
<dd>a new <span>policy container</span></dd>
9377593775

@@ -94940,7 +94940,8 @@ new PaymentRequest(&hellip;); // Allowed to use
9494094940
settings object">origin</dfn></dt>
9494194941

9494294942
<dd>
94943-
<p>An <span>origin</span> used in security checks.</p>
94943+
<p>This objects <span data-x="concept-settings-object-policy-container">policy
94944+
container</span>'s <span data-x="policy-container-origin">origin</span>.</p>
9494494945
</dd>
9494594946

9494694947
<dt>A <dfn data-x="concept-settings-object-policy-container" export
@@ -107246,6 +107247,12 @@ interface <dfn interface>SharedWorkerGlobalScope</dfn> : <span>WorkerGlobalScope
107246107247
<code>SharedWorkerGlobalScope</code> object created in the previous step.</p>
107247107248
</li>
107248107249

107250+
<li><p>Set <var>worker global scope</var>'s
107251+
<span data-x="concept-WorkerGlobalScope-policy-container">policy container</span>'s
107252+
<span data-x="policy-container-origin">origin</span> to <var>outside settings</var>'s
107253+
<span data-x="concept-settings-object-policy-container">policy container</span>'s
107254+
<span data-x="policy-container-origin">origin</span>.</p></li>
107255+
107249107256
<li><p><span>Set up a worker environment settings object</span> with <var>realm execution
107250107257
context</var>, <var>outside settings</var>, and <var>unsafeWorkerCreationTime</var>, and let
107251107258
<var>inside settings</var> be the result.</p></li>
@@ -107649,14 +107656,6 @@ interface <dfn interface>SharedWorkerGlobalScope</dfn> : <span>WorkerGlobalScope
107649107656
data-x="concept-WorkerGlobalScope-url">url</span>.</p>
107650107657
</dd>
107651107658

107652-
<dt>The <span data-x="concept-settings-object-origin">origin</span></dt>
107653-
<dd>
107654-
<p>Return a unique <span data-x="concept-origin-opaque">opaque origin</span> if <var>worker
107655-
global scope</var>'s <span data-x="concept-WorkerGlobalScope-url">url</span>'s <span
107656-
data-x="concept-url-scheme">scheme</span> is "<code data-x="">data</code>", and <var>inherited
107657-
origin</var> otherwise.</p>
107658-
</dd>
107659-
107660107659
<dt>The <span data-x="concept-settings-object-policy-container">policy container</span></dt>
107661107660
<dd>
107662107661
<p>Return <var>worker global scope</var>'s <span
@@ -107677,6 +107676,18 @@ interface <dfn interface>SharedWorkerGlobalScope</dfn> : <span>WorkerGlobalScope
107677107676
</dl>
107678107677
</li>
107679107678

107679+
<li><p><span>Assert</span> that <var>settings object</var>'s <span
107680+
data-x="concept-settings-object-policy-container">policy container</span>'s <span
107681+
data-x="policy-container-origin">origin</span> is an <span data-x="concept-origin-opaque">opaque
107682+
origin</span>.</p></li>
107683+
107684+
<li><p>If <var>worker global scope</var>'s <span
107685+
data-x="concept-WorkerGlobalScope-url">url</span>'s <span
107686+
data-x="concept-url-scheme">scheme</span> is not "<code data-x="">data</code>", then set
107687+
<var>settings object</var>'s <span data-x="concept-settings-object-policy-container">policy
107688+
container</span>'s <span data-x="policy-container-origin">origin</span> to <var>inherited
107689+
origin</var>.</p></li>
107690+
107680107691
<li><p>Set <var>settings object</var>'s <span data-x="concept-environment-id">id</span> to a new
107681107692
unique opaque string, <span data-x="concept-environment-creation-url">creation URL</span> to
107682107693
<var>worker global scope</var>'s <span>url</span>, <span>top-level creation URL</span> to null,
@@ -108812,8 +108823,6 @@ interface <dfn interface>WorkletGlobalScope</dfn> {};</code></pre>
108812108823
object</span> <var>outsideSettings</var>:</p>
108813108824

108814108825
<ol>
108815-
<li><p>Let <var>origin</var> be a unique <span data-x="concept-origin-opaque">opaque
108816-
origin</span>.</p></li>
108817108826

108818108827
<li><p>Let <var>inheritedAPIBaseURL</var> be <var>outsideSettings</var>'s <span>API base
108819108828
URL</span>.</p></li>
@@ -108861,11 +108870,6 @@ interface <dfn interface>WorkletGlobalScope</dfn> {};</code></pre>
108861108870
available to worklet code make use of the <span>API base URL</span>.</p>
108862108871
</dd>
108863108872

108864-
<dt>The <span data-x="concept-settings-object-origin">origin</span></dt>
108865-
<dd>
108866-
<p>Return <var>origin</var>.</p>
108867-
</dd>
108868-
108869108873
<dt>The <span data-x="concept-settings-object-policy-container">policy container</span></dt>
108870108874
<dd>
108871108875
<p>Return <var>inheritedPolicyContainer</var>.</p>

0 commit comments

Comments
 (0)
Please sign in to comment.