summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/fullscreen/api/document-fullscreen-enabled-removing-allowfullscreen.sub.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/fullscreen/api/document-fullscreen-enabled-removing-allowfullscreen.sub.html')
-rw-r--r--testing/web-platform/tests/fullscreen/api/document-fullscreen-enabled-removing-allowfullscreen.sub.html63
1 files changed, 63 insertions, 0 deletions
diff --git a/testing/web-platform/tests/fullscreen/api/document-fullscreen-enabled-removing-allowfullscreen.sub.html b/testing/web-platform/tests/fullscreen/api/document-fullscreen-enabled-removing-allowfullscreen.sub.html
new file mode 100644
index 0000000000..687a4ff1e4
--- /dev/null
+++ b/testing/web-platform/tests/fullscreen/api/document-fullscreen-enabled-removing-allowfullscreen.sub.html
@@ -0,0 +1,63 @@
+<!DOCTYPE html>
+<title>
+ Document#fullscreenEnabled removing allowfullscreen after load and then
+ navigating
+</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<iframe></iframe>
+<script>
+ function requestStatus(iframe) {
+ iframe.contentWindow.postMessage(
+ "What is document.fullscreenEnabled?",
+ "*"
+ );
+ return new Promise((resolve) => {
+ window.addEventListener("message", function listener(e) {
+ window.removeEventListener("message", listener);
+ resolve(event.data);
+ });
+ });
+ }
+
+ promise_test(async (t) => {
+ const iframe = document.querySelector("iframe");
+ iframe.allowFullscreen = true;
+ assert_true(iframe.allowFullscreen, "allowFullscreen is false");
+ assert_true(
+ iframe.hasAttribute("allowfullscreen"),
+ "allowFullscreen attribute is present"
+ );
+ await new Promise((resolve) => {
+ iframe.onload = resolve;
+ const path = location.pathname.substring(
+ 0,
+ location.pathname.lastIndexOf("/") + 1
+ );
+ iframe.src = `http://{{hosts[][]}}:{{ports[http][0]}}${path}resources/echo-fullscreenEnabled.html`;
+ });
+
+ assert_true(
+ await requestStatus(iframe),
+ "document.fullscreenEnabled in the iframe, before navigation"
+ );
+
+ iframe.allowFullscreen = false;
+ assert_false(iframe.allowFullscreen, "allowFullscreen is false");
+ assert_false(
+ iframe.hasAttribute("allowfullscreen"),
+ "allowFullscreen attribute is not present"
+ );
+
+ await new Promise((resolve) => {
+ iframe.onload = resolve;
+ iframe.contentWindow.location.href = iframe.src + "?2";
+ });
+
+ assert_false(
+ await requestStatus(iframe),
+ "document.fullscreenEnabled in the iframe, after navigation"
+ );
+ });
+</script>