summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/permissions-policy/permissions-policy-javascript-url-frame-policy.https.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/permissions-policy/permissions-policy-javascript-url-frame-policy.https.html')
-rw-r--r--testing/web-platform/tests/permissions-policy/permissions-policy-javascript-url-frame-policy.https.html40
1 files changed, 40 insertions, 0 deletions
diff --git a/testing/web-platform/tests/permissions-policy/permissions-policy-javascript-url-frame-policy.https.html b/testing/web-platform/tests/permissions-policy/permissions-policy-javascript-url-frame-policy.https.html
new file mode 100644
index 0000000000..4838548580
--- /dev/null
+++ b/testing/web-platform/tests/permissions-policy/permissions-policy-javascript-url-frame-policy.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+
+<head>
+ <script src=/resources/testharness.js></script>
+ <script src=/resources/testharnessreport.js></script>
+</head>
+
+<body>
+ <script>
+ 'use strict';
+
+ const script = 'script';
+ const testPage = `
+ <${script}>
+ parent.postMessage(document.fullscreenEnabled, '*');
+ </${script}>
+ `;
+
+ function runTest(allow, expectation) {
+ return new Promise((resolve, reject) => {
+ window.onmessage = event => resolve(event.data);
+
+ const iframe = document.createElement("iframe");
+ iframe.allow = allow;
+ iframe.src = `javascript: \`${testPage}\``;
+ document.body.appendChild(iframe);
+
+ }).then(enabled => {
+ assert_equals(enabled, expectation);
+ });
+ }
+
+ promise_test(() => runTest('fullscreen *', true),
+ 'allow attribute(container policy) can enable feature on javascript generated document');
+
+ promise_test(() => runTest("fullscreen 'none'", false),
+ 'allow attribute(container policy) can disable feature on javascript generated document');
+
+ </script>
+</body>