0

[resource-timing] Clean up the buffer full eventually test

Change-Id: I6b40bc035740598e3ce1ed4eabac1bc2ee02c7d1
Bug: 1171767
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2945778
Reviewed-by: Tom McKee <tommckee@chromium.org>
Commit-Queue: Yoav Weiss <yoavweiss@chromium.org>
Cr-Commit-Position: refs/heads/master@{#890293}
This commit is contained in:
Yoav Weiss
2021-06-08 16:54:48 +00:00
committed by Chromium LUCI CQ
parent 3df399b5c0
commit 3e3f49750c
2 changed files with 31 additions and 36 deletions
third_party/blink/web_tests/external/wpt/resource-timing

@@ -0,0 +1,31 @@
<!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>
<meta name="timeout" content="long">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<script>
promise_test(t => {
return new Promise(resolve => {
let counter = 0;
performance.onresourcetimingbufferfull = resolve;
const loadImagesRecursively = () => {
// Load an image.
(new Image()).src = "resources/blue.png?" + counter;
++counter;
// Yield to enable queueing an entry, then recursively load another image.
t.step_timeout(loadImagesRecursively, 0);
};
loadImagesRecursively();
});
}, "Finite resource timing entries buffer size");
</script>
</body>
</html>

@@ -1,36 +0,0 @@
<!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>
<meta name="timeout" content="long">
<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() {
});
let counter = 0;
function appendScripts() {
const documentFragment = document.createDocumentFragment();
// Add 8 elements at a time to avoid page reflow every time.
let numScriptsAccumulated = 0;
while (numScriptsAccumulated < 8) {
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>