| <!DOCTYPE html> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/resources/testdriver.js"></script> |
| <script src="/resources/testdriver-vendor.js"></script> |
| <p id="#fragment"></p> |
| <script> |
| promise_test(async t => { |
| await test_driver.bless("request full screen", () => { |
| return document.documentElement.requestFullscreen(); |
| }); |
| const fragment = document.createElement("p"); |
| fragment.id = "fragment"; |
| document.body.appendChild(fragment); |
| const { type: preType } = screen.orientation; |
| const isPortrait = preType.startsWith("portrait"); |
| const newType = `${isPortrait ? "landscape" : "portrait"}-primary`; |
| const p = screen.orientation.lock(newType); |
| screen.orientation.onchange = t.unreached_func( |
| "change event must not fire" |
| ); |
| window.location.href = "#fragment"; |
| await p; |
| }, "When performing a fragment navigation, the orientation must not change or unlock"); |
| </script> |