| <!DOCTYPE HTML> | |
| <meta charset=utf-8> | |
| <title>LongTask Timing: long task in nested child iframe</title> | |
| <body> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <script> | |
| const t = async_test(t => { | |
| assert_implements(window.PerformanceLongTaskTiming, 'Longtasks are not supported.'); | |
| window.addEventListener('message', t.step_func(e => { | |
| assert_equals(e.data['entryType'], 'longtask'); | |
| assert_equals(e.data['frame-attribution'], 'same-origin-ancestor'); | |
| assert_equals(e.data['task-attribution'], 'unknown'); | |
| assert_equals(e.data['containerType'], 'window'); | |
| assert_equals(e.data['containerId'], ''); | |
| assert_equals(e.data['containerName'], ''); | |
| assert_equals(e.data['containerSrc'], ''); | |
| t.done(); | |
| })); | |
| }, 'Performance longtask entries in parent are observable in child iframe.'); | |
| const iframe = document.createElement('iframe'); | |
| iframe.id = 'child-iframe-id'; | |
| iframe.name = 'child-iframe-name'; | |
| document.body.appendChild(iframe); | |
| iframe.src = 'resources/subframe-observing-longtask.html'; | |
| iframe.onload = () => { | |
| t.step_timeout( () => { | |
| const begin = window.performance.now(); | |
| while (window.performance.now() < begin + 60); | |
| }, 50); | |
| }; | |
| </script> | |
| </body> |