@@ -44,10 +44,6 @@ urlPrefix: https://w3c.github.io/screen-orientation/#dfn-
44
44
<p> Most terminology used in this specification is from CSS, DOM, HTML, and Web IDL. [[!CSS]]
45
45
[[!DOM]] [[!HTML]] [[!WEBIDL]]
46
46
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
-
51
47
52
48
53
49
<h2 id=model>Model</h2>
@@ -273,9 +269,10 @@ are:
273
269
<li><p> Return <var> promise</var> , and run the remaining steps <a>in parallel</a> .
274
270
275
271
<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}}"] :
279
276
<!-- cross-process -->
280
277
281
278
<table>
@@ -327,9 +324,20 @@ are:
327
324
<li><p> Let <var> fullscreenElements</var> be an <a>ordered set</a> initially consisting of
328
325
<a>this</a> .
329
326
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>
333
341
<!-- cross-process -->
334
342
335
343
<li>
358
366
<li><p> Resolve <var> promise</var> with undefined.
359
367
</ol>
360
368
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.
363
371
</div>
364
372
365
373
<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.
414
422
415
423
<li><p> If <var> lastDoc</var> is not a <a>simple fullscreen document</a> , <a>break</a> .
416
424
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> .
419
429
420
430
<li><p> If <var> container</var> 's <a>iframe fullscreen flag</a> is set, <a>break</a> .
421
431
@@ -448,8 +458,8 @@ could be an open <{dialog}> element.
448
458
<var> doc</var> .
449
459
<!-- cross-process -->
450
460
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> .
453
463
<!-- cross-process -->
454
464
455
465
<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.
476
486
<!-- cross-process -->
477
487
478
488
<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> .
481
491
<!-- cross-process -->
482
492
483
493
<li>
@@ -546,8 +556,8 @@ corresponding <a>event handler content attributes</a> for {{Element}} objects in
546
556
{{Element/requestFullscreen()}} and {{Document/exitFullscreen()}} .
547
557
548
558
<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> .
551
561
552
562
<p> The user agent may end any fullscreen session without instruction from the end user
553
563
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
724
734
user agent or even operating system environment when fullscreen. See also the definition of
725
735
{{Element/requestFullscreen()}} .
726
736
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.
732
742
733
743
<p> This prevents e.g. content from third parties to go fullscreen without explicit permission.
734
744
0 commit comments