gecko-dev/testing/web-platform/tests/fullscreen/api/element-request-fullscreen-active-document.html
James Graham 3f997c7d6e Bug 1367340 - Update web-platform-tests to revision a2d29f3497c889546662566721bbd4f86efdbedd, a=testonly
MozReview-Commit-ID: G7hh5RgrlOv


--HG--
rename : testing/web-platform/tests/content-security-policy/navigation/to-javascript-url.html => testing/web-platform/tests/content-security-policy/navigation/to-javascript-url-script-src.html
rename : testing/web-platform/tests/webusb/idlharness.html => testing/web-platform/tests/webusb/idlharness.https.html
2017-05-24 14:03:28 +01:00

38 lines
1.5 KiB
HTML

<!DOCTYPE html>
<title>Element#requestFullscreen() when the document is not the active document</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<iframe allowfullscreen></iframe>
<script>
var t = async_test();
onload = t.step_func(() => {
var iframe = document.querySelector("iframe");
var documentBeforeNav = iframe.contentDocument;
documentBeforeNav.onfullscreenchange = t.unreached_func('fullscreenchange event');
documentBeforeNav.onfullscreenerror = t.unreached_func('fullscreenerror event');
iframe.onload = t.step_func(() => {
var p = documentBeforeNav.documentElement.requestFullscreen();
// If a promise was returned, it should already be rejected, so its reject
// callback should be invoked before a second promise's callback.
// This test does not fail if promises aren't implemented.
if (p) {
var rejected = false;
p.catch(t.step_func(() => rejected = true));
Promise.resolve().then(t.step_func(() => assert_true(rejected)));
}
// Per spec the fullscreenerror event should be fired at the next animtion
// frame, but at least Gecko and WebKit will instead effectively do "queue a
// task to fire ...". Use both rAF and setTimeout to fail even if the timing
// of the (unexpected) event isn't as expected.
requestAnimationFrame(t.step_func(() => {
step_timeout(t.step_func_done());
}));
});
// Navigate the iframe
window[0].location.href = '/common/blank.html';
});
</script>