diff --git a/index.html b/index.html index 0ef0762..e7f6004 100644 --- a/index.html +++ b/index.html @@ -872,21 +872,101 @@
+ To reject descendant document orientation promises for a + {{Document}} |document|, the [=user agent=] MUST: +
++ Only top-level documents have descendant navigables to process. +
++ Only same-origin descendant documents are processed to prevent + cross-origin documents from detecting orientation lock states + of their embedding documents, which could be used for timing + attacks or fingerprinting. +
++ A user agent SHOULD restrict the use of {{ScreenOrientation/lock()}} to + documents that meet the fullscreen pre-lock condition as a + [=pre-lock condition=]. [[fullscreen]] +
++ A {{Document}} |document| meets the [=fullscreen pre-lock condition=] + if any of the following are true: +
++ The third condition allows same-origin iframes to lock the screen + orientation when their parent document is in fullscreen or has + requested fullscreen. This prevents cross-origin documents from + detecting the fullscreen state of their embedding document. +
A user agent MUST restrict the use of {{ScreenOrientation/lock()}} to simple fullscreen documents as a [=pre-lock condition=]. This requirement prevents fingerprinting through differences in user agent behavior regarding orientation locking permissions. [[fullscreen]]
+- When a [=document=] exits fullscreen, it also runs the [=fully unlock - the screen orientation steps=]. [[fullscreen]] + [=promise/React=] to a [=document=] |doc|'s [=pending fullscreen + request promise=]. When the promise is [=reject|rejected=], run the + following steps:
+