40 lines
1 KiB
HTML
40 lines
1 KiB
HTML
<!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>
|