| <!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 => { |
| if (typeof PerformanceLongTaskTiming === 'undefined') { |
| assert_unreached("Longtasks are not supported."); |
| t.done(); |
| } |
| 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['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> |