Skip to content

Commit a7e681d

Browse files
domenicfoolip
authored andcommitted
Update to use navigables instead of browsing contexts
Follows whatwg/html#6315.
1 parent 139752a commit a7e681d

File tree

1 file changed

+35
-25
lines changed

1 file changed

+35
-25
lines changed

fullscreen.bs

Lines changed: 35 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,6 @@ urlPrefix: https://w3c.github.io/screen-orientation/#dfn-
4444
<p>Most terminology used in this specification is from CSS, DOM, HTML, and Web IDL. [[!CSS]]
4545
[[!DOM]] [[!HTML]] [[!WEBIDL]]
4646

47-
<p>A <a for=/>browsing context</a> <var>A</var> is called a <dfn>descendant browsing context</dfn>
48-
of a <a for=/>browsing context</a> <var>B</var> if and only if <var>B</var> is an
49-
<a>ancestor browsing context</a> of <var>A</var>.
50-
5147

5248

5349
<h2 id=model>Model</h2>
@@ -273,9 +269,10 @@ are:
273269
<li><p>Return <var>promise</var>, and run the remaining steps <a>in parallel</a>.
274270

275271
<li>
276-
<p>If <var>error</var> is false, then resize <var>pendingDoc</var>'s
277-
<a>top-level browsing context</a>'s <a>active document</a>'s viewport's dimensions, optionally
278-
taking into account <var>options</var>["{{FullscreenOptions/navigationUI}}"]:
272+
<p>If <var>error</var> is false, then resize <var>pendingDoc</var>'s <a>node navigable</a>'s
273+
<a for=navigable>top-level traversable</a>'s <a for=navigable>active document</a>'s viewport's
274+
dimensions, optionally taking into account
275+
<var>options</var>["{{FullscreenOptions/navigationUI}}"]:
279276
<!-- cross-process -->
280277

281278
<table>
@@ -327,9 +324,20 @@ are:
327324
<li><p>Let <var>fullscreenElements</var> be an <a>ordered set</a> initially consisting of
328325
<a>this</a>.
329326

330-
<li><p><a>While</a> the last element in <var>fullscreenElements</var> is in a
331-
<a>nested browsing context</a>: <a for=set>append</a> its <a>browsing context container</a> to
332-
<var>fullscreenElements</var>.
327+
<li>
328+
<p>While true:
329+
330+
<ol>
331+
<li><p>Let <var>last</var> be the last <a for=list>item</a> of <var>fullscreenElements</var>.
332+
333+
<li><p>Let <var>container</var> be <var>last</var>'s <a>node navigable</a>'s
334+
<a for=navigable>container</a>.
335+
336+
<li><p>If <var>container</var> is null, then <a>break</a>.
337+
338+
<li><p><a for=set>Append</a> <var>container</var> to <var>fullscreenElements</var>.
339+
</ol>
340+
</li>
333341
<!-- cross-process -->
334342

335343
<li>
@@ -358,8 +366,8 @@ are:
358366
<li><p>Resolve <var>promise</var> with undefined.
359367
</ol>
360368

361-
<p class=note>Implementations with out-of-process <a for=/>browsing contexts</a> are left as an
362-
exercise to the reader. Input welcome on potential improvements.
369+
<p class=note>Implementations with out-of-process <a for=/>navigables</a> are left as an exercise
370+
to the reader. Input welcome on potential improvements.
363371
</div>
364372

365373
<p>The <dfn attribute for=Document><code>fullscreenEnabled</code></dfn> getter steps are to return
@@ -414,8 +422,10 @@ could be an open <{dialog}> element.
414422

415423
<li><p>If <var>lastDoc</var> is not a <a>simple fullscreen document</a>, <a>break</a>.
416424

417-
<li><p>Let <var>container</var> be <var>lastDoc</var>'s <a>browsing context container</a>, if
418-
any, and otherwise <a>break</a>.
425+
<li><p>Let <var>container</var> be <var>lastDoc</var>'s <a>node navigable</a>'s
426+
<a for=navigable>container</a>.
427+
428+
<li><p>If <var>container</var> is null, then <a>break</a>.
419429

420430
<li><p>If <var>container</var>'s <a>iframe fullscreen flag</a> is set, <a>break</a>.
421431

@@ -448,8 +458,8 @@ could be an open <{dialog}> element.
448458
<var>doc</var>.
449459
<!-- cross-process -->
450460

451-
<li><p>Let <var>topLevelDoc</var> be <var>doc</var>'s <a>top-level browsing context</a>'s
452-
<a>active document</a>.
461+
<li><p>Let <var>topLevelDoc</var> be <var>doc</var>'s <a>node navigable</a>'s
462+
<a for=navigable>top-level traversable</a>'s <a for=navigable>active document</a>.
453463
<!-- cross-process -->
454464

455465
<li><p>If <var>topLevelDoc</var> is in <var>docs</var>, and it is a
@@ -476,8 +486,8 @@ could be an open <{dialog}> element.
476486
<!-- cross-process -->
477487

478488
<li><p>Let <var>descendantDocs</var> be an <a>ordered set</a> consisting of <var>doc</var>'s
479-
<a>descendant browsing contexts</a>' <a>active documents</a> whose <a>fullscreen element</a> is
480-
non-null, if any, in <a>tree order</a>.
489+
<a for=Document>descendant navigables</a>' <a for=navigable>active documents</a> whose
490+
<a>fullscreen element</a> is non-null, if any, in <a>tree order</a>.
481491
<!-- cross-process -->
482492

483493
<li>
@@ -546,8 +556,8 @@ corresponding <a>event handler content attributes</a> for {{Element}} objects in
546556
{{Element/requestFullscreen()}} and {{Document/exitFullscreen()}}.
547557

548558
<p>If the end user instructs the user agent to end a fullscreen session initiated via
549-
{{Element/requestFullscreen()}}, <a>fully exit fullscreen</a> the
550-
<a>top-level browsing context</a>'s <a>active document</a>.
559+
{{Element/requestFullscreen()}}, <a>fully exit fullscreen</a> given the
560+
<a for=/>top-level traversable</a>'s <a>active document</a>.
551561

552562
<p>The user agent may end any fullscreen session without instruction from the end user
553563
or call to {{Document/exitFullscreen()}} whenever the user agent deems it necessary.
@@ -724,11 +734,11 @@ advertise this to the user. This is to prevent a site from spoofing the end user
724734
user agent or even operating system environment when fullscreen. See also the definition of
725735
{{Element/requestFullscreen()}}.
726736

727-
<p>To enable content in a <a>nested browsing context</a> to go fullscreen, it needs to be
728-
specifically allowed via permissions policy, either through the <{iframe/allowfullscreen}> attribute
729-
of the HTML <{iframe}> element, or an appropriate declaration in the <{iframe/allow}> attribute of
730-
the HTML <{iframe}> element, or through a `<a http-header><code>Permissions-Policy</code></a>` HTTP
731-
header delivered with the <a>document</a> through which it is nested.
737+
<p>To enable content in a <a>child navigable</a> to go fullscreen, it needs to be specifically
738+
allowed via permissions policy, either through the <{iframe/allowfullscreen}> attribute of the HTML
739+
<{iframe}> element, or an appropriate declaration in the <{iframe/allow}> attribute of the HTML
740+
<{iframe}> element, or through a `<a http-header><code>Permissions-Policy</code></a>` HTTP header
741+
delivered with the <a>document</a> through which it is nested.
732742

733743
<p>This prevents e.g. content from third parties to go fullscreen without explicit permission.
734744

0 commit comments

Comments
 (0)