// 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); }) );