summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/timing-entrytypes-registry/registry.window.js
blob: 21ef2230e9ebea5b853e243c51905b92098fcd95 (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
28
29
30
31
32
33
// 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);