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.
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` throw any error (security error) because `requestFullscreen` (promise1) isn't completed yet.