longtask-in-sibling-iframe.html (1710B)
1 <!DOCTYPE HTML> 2 <meta charset=utf-8> 3 <title>LongTask Timing: long task in sibling iframe</title> 4 <body> 5 6 <script src="/resources/testharness.js"></script> 7 <script src="/resources/testharnessreport.js"></script> 8 9 <script> 10 async_test(t => { 11 assert_implements(window.PerformanceLongTaskTiming, 'Longtasks are not supported.'); 12 window.addEventListener('message', t.step_func(e => { 13 assert_equals(e.data['entryType'], 'longtask'); 14 // Ignore any long task that may be produced by the top-level frame. 15 if (e.data['frame-attribution'] === 'same-origin-ancestor') 16 return; 17 18 assert_equals(e.data['frame-attribution'], 'same-origin'); 19 assert_equals(e.data['task-attribution'], 'unknown'); 20 assert_equals(e.data['containerType'], 'iframe'); 21 assert_equals(e.data['containerId'], 'longtask-iframe-id'); 22 assert_equals(e.data['containerName'], 'longtask-iframe-name'); 23 assert_equals(e.data['containerSrc'], 'resources/subframe-with-longtask.html'); 24 t.done(); 25 })); 26 const observingFrame = document.createElement('iframe'); 27 observingFrame.id = 'observing-iframe-id'; 28 observingFrame.name = 'observing-iframe-name'; 29 document.body.appendChild(observingFrame); 30 observingFrame.src = 'resources/subframe-observing-longtask.html' 31 32 observingFrame.onload = () => { 33 const longtaskFrame = document.createElement('iframe'); 34 longtaskFrame.id = 'longtask-iframe-id'; 35 longtaskFrame.name = 'longtask-iframe-name'; 36 document.body.appendChild(longtaskFrame); 37 longtaskFrame.src = 'resources/subframe-with-longtask.html' 38 }; 39 }, 'Performance longtask entries are observable in sibling iframe.'); 40 </script> 41 </body>