blob: 43885ab708fe8b29a66f936e727cb804800a4e34 [file] [log] [blame]
spanickera5b95cb2017-03-10 22:42:551<!DOCTYPE HTML>
2<meta charset=utf-8>
3<title>LongTask Timing: long task in rAF</title>
4<body>
5
6<script src="/resources/testharness.js"></script>
7<script src="/resources/testharnessreport.js"></script>
8<script src="resources/raflongtask.js"></script>
9
10<h1>Long Task: requestAnimationFrame</h1>
11<div id="log"></div>
12<script>
13 async_test(function (t) {
Nicolas Penacd751192018-07-10 21:05:2714 if (typeof PerformanceLongTaskTiming === 'undefined') {
15 assert_unreached("Longtasks are not supported.");
16 t.done();
17 }
npm@chromium.org71ff8882017-08-15 17:22:0118 const observer = new PerformanceObserver(
spanickera5b95cb2017-03-10 22:42:5519 t.step_func(function (entryList) {
npm@chromium.org71ff8882017-08-15 17:22:0120 const entries = entryList.getEntries();
spanickera5b95cb2017-03-10 22:42:5521 assert_equals(entries.length, 1,
npm@chromium.org71ff8882017-08-15 17:22:0122 'Exactly one entry is expected.');
23 const longtask = entries[0];
24 assert_equals(longtask.entryType, 'longtask');
25 assert_equals(longtask.name, 'self');
spanickera5b95cb2017-03-10 22:42:5526 assert_greater_than(longtask.duration, 50);
spanickera5b95cb2017-03-10 22:42:5527
28 // Assert the TaskAttributionTiming entry in attribution.
29 assert_equals(longtask.attribution.length, 1,
npm@chromium.org71ff8882017-08-15 17:22:0130 'Exactly one attribution entry is expected');
31 const attribution = longtask.attribution[0];
32 assert_equals(attribution.entryType, 'taskattribution');
33 assert_equals(attribution.name, 'script');
spanickera5b95cb2017-03-10 22:42:5534 assert_equals(attribution.duration, 0);
35 assert_equals(attribution.startTime, 0);
npm@chromium.org71ff8882017-08-15 17:22:0136 assert_equals(attribution.containerId, '');
37 assert_equals(attribution.containerName, '');
38 assert_equals(attribution.containerSrc, '');
spanickera5b95cb2017-03-10 22:42:5539 observer.disconnect();
40 t.done();
41 })
42 );
npm@chromium.org71ff8882017-08-15 17:22:0143 observer.observe({entryTypes: ['longtask']});
44}, 'Performance longtask entries are observable.');
spanickera5b95cb2017-03-10 22:42:5545</script>
46
npm@chromium.org71ff8882017-08-15 17:22:0147</body>