blob: 5617c30b8850d8d8550561c79f69ea02c691d134 [file] [log] [blame]
Yoav Weiss79001b12018-12-12 17:16:561<!DOCTYPE HTML>
2<html>
3<head onload>
4<meta charset="utf-8" />
5<title>This test validates that synchronously adding entries in onresourcetimingbufferfull callback results in these entries being properly handled.</title>
Nicolás Peña Moreno8a1c14c2021-05-27 22:27:506<link rel="author" title="Google" href="http://www.google.com/" />
7<link rel="help" href="https://www.w3.org/TR/resource-timing-2/#dom-performance-onresourcetimingbufferfull"/>
Yoav Weiss79001b12018-12-12 17:16:568<script src="/resources/testharness.js"></script>
9<script src="/resources/testharnessreport.js"></script>
Nicolás Peña Moreno8a1c14c2021-05-27 22:27:5010<script src="resources/resource-loaders.js"></script>
Yoav Weiss79001b12018-12-12 17:16:5611<script src="resources/buffer-full-utilities.js"></script>
12</head>
13<body>
14<script>
Nicolás Peña Moreno8a1c14c2021-05-27 22:27:5015promise_test(async t => {
16 addAssertUnreachedBufferFull(t);
17 await fillUpTheBufferWithSingleResource('resources/empty.js?willbelost');
Yoav Weiss79001b12018-12-12 17:16:5618 // These resources overflow the entry buffer, and go into the secondary buffer.
Nicolás Peña Moreno8a1c14c2021-05-27 22:27:5019 load.xhr_sync(scriptResources[0]);
20 load.xhr_sync(scriptResources[1]);
Yoav Weiss79001b12018-12-12 17:16:5621 performance.clearResourceTimings();
22 performance.setResourceTimingBufferSize(3);
Nicolás Peña Moreno8a1c14c2021-05-27 22:27:5023 load.xhr_sync(scriptResources[2]);
24 const entriesAfterAddition = performance.getEntriesByType('resource');
Yoav Weiss79001b12018-12-12 17:16:5625 await waitForNextTask();
Nicolás Peña Moreno8a1c14c2021-05-27 22:27:5026 checkEntries(3);
27 assert_equals(entriesAfterAddition.length, 0, "No entries should have been added to the primary buffer before the task to 'fire a buffer full event'.");
Yoav Weiss79001b12018-12-12 17:16:5628}, "Test that if the buffer is cleared after entries were added to the secondary buffer, those entries make it into the primary one");
29</script>
30</body>
31</html>