document-fullscreen-enabled-cross-origin.sub.html
<!DOCTYPE html>
<title>Document#fullscreenEnabled</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<iframe src="resources/report-fullscreen-enabled.html" name="same-origin-default"></iframe>
<iframe src="resources/report-fullscreen-enabled.html" allowfullscreen name="same-origin-allow"></iframe>
<iframe src="http://{{domains[www1]}}:{{ports[http][0]}}/fullscreen/api/resources/report-fullscreen-enabled.html" name="cross-origin-default"></iframe>
<iframe src="http://{{domains[www1]}}:{{ports[http][0]}}/fullscreen/api/resources/report-fullscreen-enabled.html" allowfullscreen name="cross-origin-allow"></iframe>
<script>
var expectations = {
"same-origin-default": false,
"same-origin-allow": true,
"cross-origin-default": false,
"cross-origin-allow": true
};
var tests = {};
for (var name in expectations) {
tests[name] = async_test( 'Fullscreen enabled test: ' + name);
}
// When a message is received from a child frame, ensure that the report
// matches the expectations.
window.addEventListener('message', e => {
if (e.data.report && e.data.report.api == "fullscreen") {
if (e.data.report.frame in expectations) {
tests[e.data.report.frame].step(() => {
assert_equals(e.data.report.enabled, expectations[e.data.report.frame],
e.data.report.frame + " frame fullscreenEnabled");
});
delete expectations[e.data.report.frame];
tests[e.data.report.frame].done();
}
}
});
</script>