Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

async_test(t => {
// First observer creates second in callback to ensure the entry has been dispatched by the time
// the second observer begins observing.
new PerformanceObserver(() => {
// Second observer requires 'buffered: true' to see an entry.
new PerformanceObserver(t.step_func_done(list => {
const entries = list.getEntries();
assert_equals(entries.length, 1, 'There should be 1 mark entry.');
assert_equals(entries[0].entryType, 'mark');
})).observe({type: 'mark', buffered: true});
}).observe({entryTypes: ['mark']});
performance.mark('foo');
}, 'PerformanceObserver with buffered flag sees previous marks');
async_test(t => {
// First observer creates second in callback to ensure the entry has been dispatched by the time
// the second observer begins observing.
new PerformanceObserver(() => {
// Second observer requires 'buffered: true' to see an entry.
new PerformanceObserver(t.step_func_done(list => {
const entries = list.getEntries();
assert_equals(entries.length, 1, 'There should be 1 measure entry.');
assert_equals(entries[0].entryType, 'measure');
})).observe({type: 'measure', buffered: true});
}).observe({entryTypes: ['measure']});
performance.measure('bar');
}, 'PerformanceObserver with buffered flag sees previous measures');