From 14239d04265795d732bd6f0e9130e8a6dcff3478 Mon Sep 17 00:00:00 2001 From: Andrew Verge Date: Mon, 11 Nov 2024 19:40:08 +0000 Subject: [PATCH] Add spec for _unfencedTop navigation target. --- spec.bs | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/spec.bs b/spec.bs index 8dc9a62..1951470 100644 --- a/spec.bs +++ b/spec.bs @@ -97,6 +97,9 @@ spec: html; urlPrefix: https://html.spec.whatwg.org/multipage/ text: iframe sandboxing flag set; url: iframe-sandboxing-flag-set for: cross-origin opener policy enforcement result text: needs a browsing context group switch; url: coop-enforcement-bcg-switch + urlPrefix: document-sequences.html + text: valid navigable target name or keyword; url: valid-navigable-target-name-or-keyword + text: the rules for choosing a navigable; url: the-rules-for-choosing-a-navigable urlPrefix: dom.html text: categories; url: concept-element-categories text: contexts in which this element can be used; url: concept-element-contexts @@ -3309,6 +3312,65 @@ left over to be leaked to the next {{Document}}. mind, and could evolve in ways that give this specification unwanted side-effects. +

The "_unfencedTop" Navigation Target

+ +Fenced frames use an additional reserved navigation target "_unfencedTop" to navigate. +This section patches the relevant portions of the [[HTML]] spec to add _unfencedTop. + +Extend [=valid navigable target name or keyword=] to include _unfencedTop as one of +the explicitly-listed possible matches. + +In the following paragraph, change "top" to refer to the [=navigable/traversable navigable=] of the +[=navigable=] that the link or script is in. Add an additional clause to the same sentence that +reads: "outermost top" is the [=top-level traversable=] of the [=navigable=] that the link or +script is in. + +Note: This change is necessary because this spec adds a distinction between [=navigable/traversable +navigable=] and [=top-level traversable=], which were previously functionally equivalent. + +In the table below, add a column named "Effect in a fenced frame". The value for all rows in +this column is the same as "ordinary effect". Then, add two rows which read: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeywordOrdinary effectEffect in an iframe with...Effect in a fenced frame
sandbox=""sandbox="allow-top-navigation"
_unfencedTop if outermost top is currentcurrentcurrentcurrentcurrent
_unfencedTop if outermost top is not currentoutermost topnoneoutermost topoutermost top
+ +Add an extra step to [=the rules for choosing a navigable=] between the current steps 6 and 7, that +reads: + +6.5. Otherwise, if name is an ASCII case-insensitive match for "_unfencedTop" and +|currentNavigable|'s [=navigable/traversable navigable=] is a [=fenced navigable container/fenced +navigable=], set chosen to |currentNavigable|'s [=top-level traversable=]. +

Page visibility

The Page visibility section of [[HTML]] is