Bug 1744288 Comment 3 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

From https://w3c.github.io/screen-orientation/#dfn-pre-lock-conditions

> a user agent might require a Document's top-level browsing context to be fullscreen

This  is a different of interpretation for Gecko vs Blink.

- Gecko need to wait for full screen request's completion to call screen lock
- Blink doesn't wait for full screen request's completion to call screen lock.  At least, it requires that fullscreen request is pending or completed

So, There is the following API call.

```
    let promise1 = document.documentElement.requestFullscreen();
    let promise2 = screen.orientation.lock('landscape-primary');
```
### Blink
`screen.orientation.lock` doesn't throw any error even if promise1 isn't resolved.  Then, promise1 is resolved then promise2 is resolved.

### Gecko
`screen.orientation.lock` is throw any error because `requestFullscreen` (promise1) isn't completed yet.
From https://w3c.github.io/screen-orientation/#dfn-pre-lock-conditions

> a user agent might require a Document's top-level browsing context to be fullscreen

This  is a different of interpretation for Gecko vs Blink.

- Gecko need to wait for full screen request's completion to call screen lock
- Blink doesn't wait for full screen request's completion to call screen lock.  At least, it requires that fullscreen request is pending or completed

So, There is the following API call.

```
    let promise1 = document.documentElement.requestFullscreen();
    let promise2 = screen.orientation.lock('landscape-primary');
```
### Blink
`screen.orientation.lock` doesn't throw any error even if promise1 isn't resolved.  Then, promise1 is resolved then promise2 is resolved.

### Gecko
`screen.orientation.lock` throw any error (security error) because `requestFullscreen` (promise1) isn't completed yet.

Back to Bug 1744288 Comment 3