summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/user-timing/buffered-flag.any.js
blob: f938c8522d829a5d4c0a28483fb1196be5512323 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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');