| <!DOCTYPE html> | |
| <title>Document#fullscreenEnabled setting allowfullscreen after load and then navigating</title> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <div id="log"></div> | |
| <script> | |
| async_test((t) => { | |
| const iframe = document.createElement('iframe'); | |
| // no allowfullscreen attribute | |
| let i = 0; | |
| const path = location.pathname.substring(0, location.pathname.lastIndexOf('/') + 1); | |
| iframe.src = "http://{{hosts[][]}}:{{ports[http][0]}}" + path + "resources/echo-fullscreenEnabled.html"; | |
| iframe.onload = t.step_func(() => { | |
| if (i === 0) { | |
| iframe.allowFullscreen = true; | |
| } | |
| iframe.contentWindow.postMessage('What is document.fullscreenEnabled?', '*'); | |
| }); | |
| window.onmessage = t.step_func((e) => { | |
| i++; | |
| if (i === 1) { | |
| assert_false(e.data, 'document.fullscreenEnabled in the iframe, before navigation'); | |
| // Navigate the iframe. This will fire a second 'load' event on the iframe. | |
| iframe.contentWindow.location.href = iframe.src + '?2'; | |
| } else { | |
| assert_true(e.data, 'document.fullscreenEnabled in the iframe, after navigation'); | |
| t.done(); | |
| } | |
| }); | |
| document.body.appendChild(iframe); | |
| }); | |
| </script> |