<!DOCTYPE html>
<title>
Element#requestFullscreen() when not allowed to request fullscreen
</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script>
promise_test(async (t) => {
const div = document.querySelector("div");
const errorEventPromise = new Promise(
(resolve) => (document.onfullscreenerror = resolve)
);
const [, event] = await Promise.all([
promise_rejects_js(t, TypeError, div.requestFullscreen()),
errorEventPromise,
]);
assert_equals(event.type, "fullscreenerror");
assert_equals(event.target, div, "event.target");
assert_true(event.bubbles, "event.bubbles");
assert_false(event.cancelable, "event.cancelable");
assert_true(event.composed, "event.composed");
}, "requestFullscreen() when not allowed to request fullscreen");
</script>