Source code
Revision control
Copy as Markdown
Other Tools
Test Info: Warnings
- This test has a WPT meta file that expects 1 subtest issues.
- This WPT test may be referenced by the following Test IDs:
- /longtask-timing/longtask-in-parentiframe.html - WPT Dashboard Interop Dashboard
<!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>