| <!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> |