OLD | NEW |
(Empty) | |
| 1 <!DOCTYPE html> |
| 2 <title>Element#requestFullscreen() and Document#exitFullscreen() in iframe</titl
e> |
| 3 <script src="/resources/testharness.js"></script> |
| 4 <script src="/resources/testharnessreport.js"></script> |
| 5 <script src="../trusted-click.js"></script> |
| 6 <div id="log"></div> |
| 7 <iframe allowfullscreen></iframe> |
| 8 <script> |
| 9 async_test(t => { |
| 10 const iframe = document.querySelector('iframe'); |
| 11 const iframeDoc = iframe.contentDocument; |
| 12 const iframeBody = iframeDoc.body; |
| 13 |
| 14 let count = 0; |
| 15 document.onfullscreenchange = iframeDoc.onfullscreenchange = t.step_func(event
=> { |
| 16 count++; |
| 17 assert_between_inclusive(count, 1, 4, 'number of fullscreenchange events'); |
| 18 const expected = { |
| 19 target: count == 1 || count == 4 ? document : iframeDoc, |
| 20 outerFullscreenElement: count <= 2 ? iframe : null, |
| 21 innerFullscreenElement: count <= 2 ? iframeBody : null, |
| 22 }; |
| 23 assert_equals(event.target, expected.target, 'event target'); |
| 24 assert_equals(document.fullscreenElement, expected.outerFullscreenElement, '
outer fullscreenElement'); |
| 25 assert_equals(iframeDoc.fullscreenElement, expected.innerFullscreenElement,
'inner fullscreenElement'); |
| 26 if (count == 2) { |
| 27 iframeDoc.exitFullscreen(); |
| 28 } else if (count == 4) { |
| 29 // Done, but set timeout to fail on extra events. |
| 30 setTimeout(t.step_func_done()); |
| 31 } |
| 32 }); |
| 33 document.onfullscreenerror = t.unreached_func('fullscreenerror event'); |
| 34 iframeDoc.onfullscreenerror = t.unreached_func('iframe fullscreenerror event')
; |
| 35 |
| 36 trusted_request(iframeBody, document.body); |
| 37 }); |
| 38 </script> |
OLD | NEW |