Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

// META: script=resources/utils.js
test(() => {
assert_true(!!self.PerformanceObserver, "PerformanceObserver");
assert_true(!!self.PerformanceObserver.supportedEntryTypes,
"PerformanceObserver.supportedEntryTypes");
}, "PerformanceObserver.supportedEntryTypes exists");
// UPDATE HERE if new entry
[
[ "navigation", "PerformanceNavigationTiming" ],
[ "paint", "PerformancePaintTiming" ],
[ "longtask", "PerformanceLongTaskTiming" ],
].forEach(test_support);
// UPDATE BELOW to ensure the entry gets created
// paint
if (self.document) document.head.parentNode.appendChild(document.createTextNode('text inserted on purpose'));
// longtask
function syncWait(waitDuration) {
if (waitDuration <= 0)
return;
const startTime = performance.now();
let unused = '';
for (let i = 0; i < 10000; i++)
unused += '' + Math.random();
return syncWait(waitDuration - (performance.now() - startTime));
}
syncWait(50);