blob: fd9a3f042f6c9fc3ac605fc0dd4e23edfa5d683b [file] [log] [blame]
// META: script=/resources/WebIDLParser.js
// META: script=/resources/idlharness.js
// https://w3c.github.io/longtasks/
'use strict';
idl_test(
['longtasks'],
['performance-timeline', 'hr-time'],
(idl_array, t) => new Promise((resolve, reject) => {
const longTask = () => {
const begin = self.performance.now();
while (self.performance.now() < begin + 100);
}
t.step_timeout(longTask, 0);
const observer = new PerformanceObserver(entryList => {
const entries = Array.from(entryList.getEntries());
const attribution = entries.reduce(
(sum, e) => sum.concat(e.attribution || []), []);
idl_array.add_objects({
PerformanceLongTaskTiming: entries,
TaskAttributionTiming: attribution,
});
resolve();
});
observer.observe({entryTypes: ['longtask']});
t.step_timeout(() => {
reject('longtask entry was not observed');
}, 1000);
})
);