Skip to content

Commit 098329c

Browse files
Move has cross-site ancestor to the environment, from the ESO
Updates whatwg#11133 This reverts commit c736250.
1 parent d58e8e4 commit 098329c

File tree

1 file changed

+59
-61
lines changed

1 file changed

+59
-61
lines changed

source

Lines changed: 59 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -92621,8 +92621,8 @@ interface <dfn interface>BarProp</dfn> {
9262192621
<p>To <dfn>set up a window environment settings object</dfn>, given a <span>URL</span>
9262292622
<var>creationURL</var>, a <span>JavaScript execution context</span> <var>execution context</var>,
9262392623
null or an <span>environment</span> <var>reservedEnvironment</var>, a <span>URL</span>
92624-
<var>topLevelCreationURL</var>, and an <span>origin</span> <var>topLevelOrigin</var>, run these
92625-
steps:</p>
92624+
<var>topLevelCreationURL</var>, an <span>origin</span> <var>topLevelOrigin</var>, and a
92625+
boolean <var>hasCrossSiteAncestor</var>:</p>
9262692626

9262792627
<ol>
9262892628
<li><p>Let <var>realm</var> be the value of <var>execution context</var>'s Realm
@@ -92660,30 +92660,6 @@ interface <dfn interface>BarProp</dfn> {
9266092660
<span data-x="concept-document-window">associated <code>Document</code></span>.</p>
9266192661
</dd>
9266292662

92663-
<dt>The <span data-x="concept-settings-object-has-cross-site-ancestor">has cross-site
92664-
ancestor</span></dt>
92665-
<dd>
92666-
<ol>
92667-
<li><p>If <var>window</var>'s <span>navigable</span>'s <span
92668-
data-x="nav-parent">parent</span> is null, then return false.</p></li>
92669-
92670-
<li><p>Let <var>parentDocument</var> be <var>window</var>'s <span>navigable</span>'s <span
92671-
data-x="nav-parent">parent</span>'s <span data-x="nav-document">active
92672-
document</span>.</p></li>
92673-
92674-
<li><p>If <var>parentDocument</var>'s <span>relevant settings object</span>'s <span
92675-
data-x="concept-settings-object-has-cross-site-ancestor">has cross-site ancestor</span> is
92676-
true, then return true.</p></li>
92677-
92678-
<li><p>If <var>parentDocument</var>'s <span data-x="concept-document-origin">origin</span>
92679-
is not <span>same site</span> with <var>window</var>'s <span
92680-
data-x="concept-document-window">associated <code>Document</code></span>'s <span
92681-
data-x="concept-document-origin">origin</span>, then return true.</p></li>
92682-
92683-
<li><p>Return false.</p></li>
92684-
</ol>
92685-
</dd>
92686-
9268792663
<dt>The <span data-x="concept-settings-object-policy-container">policy container</span></dt>
9268892664
<dd>
9268992665
<p>Return the <span data-x="concept-document-policy-container">policy container</span> of
@@ -92748,8 +92724,10 @@ interface <dfn interface>BarProp</dfn> {
9274892724

9274992725
<li><p>Set <var>settings object</var>'s <span data-x="concept-environment-creation-url">creation
9275092726
URL</span> to <var>creationURL</var>, <var>settings object</var>'s <span>top-level creation
92751-
URL</span> to <var>topLevelCreationURL</var>, and <var>settings object</var>'s <span>top-level
92752-
origin</span> to <var>topLevelOrigin</var>.</p></li>
92727+
URL</span> to <var>topLevelCreationURL</var>, <var>settings object</var>'s <span>top-level
92728+
origin</span> to <var>topLevelOrigin</var>, and <var>settings object</var>'s <span
92729+
data-x="concept-environment-cross-site-ancestor">has cross-site ancestor</span> to
92730+
<var>hasCrossSiteAncestor</var>.</p></li>
9275392731

9275492732
<li><p>Set <var>realm</var>'s [[HostDefined]] field to <var>settings object</var>.</p></li>
9275592733
</ol>
@@ -100111,9 +100089,20 @@ interface <dfn interface>NotRestoredReasons</dfn> {
100111100089
otherwise <var>embedder</var>'s <span>relevant settings object</span>'s <span>top-level
100112100090
origin</span>.</p></li>
100113100091

100092+
<li><p>Let <var>hasCrossSiteAncestor</var> be false.</p></li>
100093+
100094+
<li><p>If <var>embedder</var> is not null, then set <var>hasCrossSiteAncestor</var> to
100095+
<var>embedder</var>'s <span>relevant settings object</span>'s <span
100096+
data-x="concept-environment-cross-site-ancestor"> has cross-site ancestor</span>.</p></li>
100097+
100098+
<li><p>If <var>embedder</var> is not null, and <var>origin</var> is not <span>same site</span>
100099+
with <var>embedder</var>'s <span>relevant settings object</span>'s <span
100100+
data-x="concept-settings-object-origin">origin</span>, then set <var>hasCrossSiteAncestor</var>
100101+
to true.</p></li>
100102+
100114100103
<li><p><span>Set up a window environment settings object</span> with <code>about:blank</code>,
100115-
<var>realm execution context</var>, null, <var>topLevelCreationURL</var>, and
100116-
<var>topLevelOrigin</var>.</p></li>
100104+
<var>realm execution context</var>, null, <var>topLevelCreationURL</var>,
100105+
<var>topLevelOrigin</var>, and <var>hasCrossSiteAncestor</var>.</p></li>
100117100106

100118100107
<li><p>Let <var>loadTimingInfo</var> be a new <span>document load timing info</span> with
100119100108
its <span>navigation start time</span> set to the result of calling <span>coarsen time</span>
@@ -104209,6 +104198,8 @@ location.href = '#foo';</code></pre>
104209104198

104210104199
<li><p>Let <var>topLevelOrigin</var> be null.</p></li>
104211104200

104201+
<li><p>Let <var>hasCrossSiteAncestor</var> be false.</p></li>
104202+
104212104203
<li>
104213104204
<p>If <var>navigable</var> is not a <span>top-level traversable</span>, then:</p>
104214104205

@@ -104222,6 +104213,15 @@ location.href = '#foo';</code></pre>
104222104213

104223104214
<li><p>Set <var>topLevelOrigin</var> to <var>parentEnvironment</var>'s <span>top-level
104224104215
origin</span>.</p></li>
104216+
104217+
<li><p>Set <var>hasCrossSiteAncestor</var> to <var>parentEnvironment</var>'s <span
104218+
data-x="concept-environment-cross-site-ancestor">has cross-site ancestor</span>.</p></li>
104219+
104220+
<li><p>If <var>parentEnvironment</var>'s <span
104221+
data-x="concept-settings-object-origin">origin</span> is not <span>same site</span> with
104222+
<var>navigable</var>'s <span data-x="nav-document">active document</span>'s <span>relevant
104223+
settings object</span>'s <span data-x="concept-settings-object-origin">origin</span>, then
104224+
set <var>hasCrossSiteAncestor</var> to true.</p></li>
104225104225
</ol>
104226104226
</li>
104227104227

@@ -104232,8 +104232,10 @@ location.href = '#foo';</code></pre>
104232104232
data-x="concept-environment-target-browsing-context">target browsing context</span> is
104233104233
<var>navigable</var>'s <span data-x="nav-bc">active browsing context</span>, <span
104234104234
data-x="concept-environment-creation-url">creation URL</span> is <var>currentURL</var>,
104235-
<span>top-level creation URL</span> is <var>topLevelCreationURL</var>, and <span>top-level
104236-
origin</span> is <var>topLevelOrigin</var>.</p>
104235+
<span>top-level creation URL</span> is <var>topLevelCreationURL</var>, <span>top-level
104236+
origin</span> is <var>topLevelOrigin</var>, and <span
104237+
data-x="concept-environment-cross-site-ancestor">has cross-site ancestor</span> is
104238+
<var>hasCrossSiteAncestor</var>.</p>
104237104239

104238104240
<p class="note">The created environment's <span
104239104241
data-x="concept-environment-active-service-worker">active service worker</span> is set in
@@ -106737,6 +106739,8 @@ location.href = '#foo';</code></pre>
106737106739
<li><p>Let <var>topLevelOrigin</var> be <var>navigationParams</var>'s <span
106738106740
data-x="navigation-params-origin">origin</span>.</p></li>
106739106741

106742+
<li><p>Let <var>hasCrossSiteAncestor</var> be false.</p></li>
106743+
106740106744
<li>
106741106745
<p>If <var>navigable</var>'s <span data-x="nav-container">container</span> is not null,
106742106746
then:</p>
@@ -106750,13 +106754,22 @@ location.href = '#foo';</code></pre>
106750106754

106751106755
<li><p>Set <var>topLevelOrigin</var> to <var>parentEnvironment</var>'s <span>top-level
106752106756
origin</span>.</p></li>
106757+
106758+
<li><p>Set <var>hasCrossSiteAncestor</var> to <var>parentEnvironment</var>'s <span
106759+
data-x="concept-environment-cross-site-ancestor">has cross-site ancestor</span>.</p></li>
106760+
106761+
<li><p>If <var>navigationParams</var>'s <span
106762+
data-x="navigation-params-request">origin</span> is not <span>same site</span> with
106763+
<var>parentEnvironment</var>'s <span data-x="concept-settings-object-origin">origin</span>,
106764+
then set <var>hasCrossSiteAncestor</var> to true.</p>
106753106765
</ol>
106754106766
</li>
106755106767

106756106768
<li><p><span>Set up a window environment settings object</span> with <var>creationURL</var>,
106757106769
<var>realmExecutionContext</var>, <var>navigationParams</var>'s <span
106758106770
data-x="navigation-params-reserved-environment">reserved environment</span>,
106759-
<var>topLevelCreationURL</var>, and <var>topLevelOrigin</var>.</p></li>
106771+
<var>topLevelCreationURL</var>, <var>topLevelOrigin</var>, and
106772+
<var>hasCrossSiteAncestor</var>.</p></li>
106760106773
</ol>
106761106774

106762106775
<p class="note">This is the usual case, where the new <code>Document</code> we're about to
@@ -108624,6 +108637,15 @@ new PaymentRequest(&hellip;); // Allowed to use
108624108637
involved.</p>
108625108638
</dd>
108626108639

108640+
<dt>A <dfn data-x="concept-environment-cross-site-ancestor" export for="environment">has
108641+
cross-site ancestor</dfn></dt>
108642+
<dd><p>A boolean. For window <span>environment settings object</span>s this will be set to true
108643+
if an ancestor frame has an <span data-x="concept-settings-object-origin">origin</span> that is
108644+
not <span>same site</span> with the current window's <span
108645+
data-x="concept-settings-object-origin">origin</span> and otherwise false. For workers and
108646+
worklets it is set to the <span data-x="concept-environment-cross-site-ancestor">has cross-site
108647+
ancestor</span> of its creator.</p></dd>
108648+
108627108649
<dt>A <dfn data-x="concept-environment-target-browsing-context" export
108628108650
for="environment">target browsing context</dfn></dt>
108629108651
<dd><p>Null or a target <span>browsing context</span> for a <span
@@ -108687,10 +108709,6 @@ new PaymentRequest(&hellip;); // Allowed to use
108687108709
<p>An <span>origin</span> used in security checks.</p>
108688108710
</dd>
108689108711

108690-
<dt>A <dfn data-x="concept-settings-object-has-cross-site-ancestor" export
108691-
for="environment settings object">has cross-site ancestor</dfn></dt>
108692-
<dd><p>A boolean used in security checks.</p></dd>
108693-
108694108712
<dt>A <dfn data-x="concept-settings-object-policy-container" export
108695108713
for="environment settings object">policy container</dfn></dt>
108696108714

@@ -123514,23 +123532,6 @@ interface <dfn interface>SharedWorkerGlobalScope</dfn> : <span>WorkerGlobalScope
123514123532
origin</var> otherwise.</p>
123515123533
</dd>
123516123534

123517-
<dt>The <span data-x="concept-settings-object-has-cross-site-ancestor">has cross-site
123518-
ancestry</span></dt>
123519-
<dd>
123520-
<ol>
123521-
<li><p>If <var>outside settings</var>'s <span
123522-
data-x="concept-settings-object-has-cross-site-ancestor">has cross-site ancestor</span> is
123523-
true, then return true.</p></li>
123524-
123525-
<li><p>If <var>worker global scope</var>'s <span
123526-
data-x="concept-WorkerGlobalScope-url">url</span>'s <span
123527-
data-x="concept-url-scheme">scheme</span> is "<code data-x="">data</code>", then return
123528-
true.</p></li>
123529-
123530-
<li><p>Return false.</p></li>
123531-
</ol>
123532-
</dd>
123533-
123534123535
<dt>The <span data-x="concept-settings-object-policy-container">policy container</span></dt>
123535123536
<dd>
123536123537
<p>Return <var>worker global scope</var>'s <span
@@ -123555,8 +123556,10 @@ interface <dfn interface>SharedWorkerGlobalScope</dfn> : <span>WorkerGlobalScope
123555123556
unique opaque string, <span data-x="concept-environment-creation-url">creation URL</span> to
123556123557
<var>worker global scope</var>'s <span>url</span>, <span>top-level creation URL</span> to null,
123557123558
<span data-x="concept-environment-target-browsing-context">target browsing context</span> to
123558-
null, and <span data-x="concept-environment-active-service-worker">active service worker</span>
123559-
to null.</p></li>
123559+
null, <span data-x="concept-environment-active-service-worker">active service worker</span>
123560+
to null, and <span data-x="concept-environment-cross-site-ancestor">has cross-site
123561+
ancestor</span> to <var>outside settings</var>'s <span
123562+
data-x="concept-environment-cross-site-ancestor">has cross-site ancestor</span>.</p></li>
123560123563

123561123564
<li><p>If <var>worker global scope</var> is a <code>DedicatedWorkerGlobalScope</code> object,
123562123565
then set <var>settings object</var>'s <span>top-level origin</span> to <var>outside
@@ -124813,10 +124816,6 @@ interface <dfn interface>WorkletGlobalScope</dfn> {};</code></pre>
124813124816
<p>Return <var>origin</var>.</p>
124814124817
</dd>
124815124818

124816-
<dt>The <span data-x="concept-settings-object-has-cross-site-ancestor">has cross-site
124817-
ancestor</span></dt>
124818-
<dd><p>Return true.</p></dd>
124819-
124820124819
<dt>The <span data-x="concept-settings-object-policy-container">policy container</span></dt>
124821124820
<dd>
124822124821
<p>Return <var>inheritedPolicyContainer</var>.</p>
@@ -147748,7 +147747,6 @@ INSERT INTERFACES HERE
147748147747
Ben Millard,
147749147748
Benjamin Carl Wiley Sittler,
147750147749
Benjamin Hawkes-Lewis,
147751-
Benjamin VanderSloot,
147752147750
Benji Bilheimer, <!-- benjibee on GitHub -->
147753147751
Benoit Ren,
147754147752
Bert Bos,

0 commit comments

Comments
 (0)