blob: ce745237c0657c7045b00d9c7b8e71770ed490fc [file] [log] [blame]
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8" />
<link rel="help" href="http://www.w3.org/TR/resource-timing/#performanceresourcetiming"/>
<title>This test validates that resource timing implementations have a finite number of entries in their buffer.</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<script>
const t = async_test("Finite resource timing entries buffer size");
performance.onresourcetimingbufferfull = t.step_func_done(function() {
});
window.onload = t.step_func(
function() {
// Scripts appended in JS to ensure setResourceTimingBufferSize is called before.
let counter = performance.getEntriesByType("resource").length;
function appendScripts() {
const documentFragment = document.createDocumentFragment();
// Add 100 elements at a time to avoid page reflow every time.
let numScriptsAccumulated = 0;
while (numScriptsAccumulated < 100) {
const src = "resources/empty.js?" + counter;
const script = document.createElement('script');
script.type = 'text/javascript';
script.src = src;
documentFragment.appendChild(script);
++counter;
++numScriptsAccumulated;
}
document.body.appendChild(documentFragment);
t.step_timeout(appendScripts, 20);
}
appendScripts();
});
</script>
</body>
</html>