blob: fa006e2b1d231641cc44efc2e6c1091ca14b3f14 [file] [log] [blame]
<!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>
<script>
promise_test(async t => {
t.add_cleanup(async () => {
try {
await document.exitFullscreen();
} catch (e) {}
screen.orientation.unlock();
});
await test_driver.bless("request full screen", () => {
return document.documentElement.requestFullscreen();
});
const promiseToChange = new Promise(resolve => {
screen.orientation.addEventListener("change", resolve);
});
const newOrientationType =
screen.orientation.type.includes("portrait") ? "landscape" :
"portrait";
const result = await Promise.race([
screen.orientation.lock(newOrientationType),
promiseToChange,
]);
assert_true(result instanceof Event, "Expected an instance of Event");
}, "The 'change' event must fire before the [[orientationPendingPromise]] is resolved.");
</script>