| <!DOCTYPE HTML> | |
| <meta charset=utf-8> | |
| <meta name="viewport" content="width=device-width"> | |
| <title>Child Iframe</title> | |
| <h1>Child Iframe observing long tasks</h1> | |
| <script> | |
| const observer = new PerformanceObserver(function(entryList) { | |
| for (i = 0; i < entryList.getEntries().length; i++) { | |
| const longtask = entryList.getEntries()[i]; | |
| // Ignore long task generated within here, as part of making this iframe. | |
| // Ignore multiple-contexts and unknown because they cause longtask-in-parentiframe test to be flaky. | |
| if (longtask.name == 'self' || | |
| longtask.name == 'multiple-contexts' || longtask.name == 'unknown') | |
| return; | |
| // TODO(panicker): include containerType. | |
| const attribution = longtask.attribution[0]; | |
| const entryContents = longtask.entryType + '+' + longtask.name + '+' + | |
| attribution.name + '+' + attribution.containerId + '+' + | |
| attribution.containerName + '+' + attribution.containerSrc; | |
| top.postMessage(entryContents, '*'); | |
| } | |
| }); | |
| observer.observe({entryTypes: ['longtask']}); | |
| </script> |