Automatic update from web-platform-tests Fix remaining preload tests flaking on wpt.fyi This is a follow-up to https://github.com/web-platform-tests/wpt/pull/15075. https://crrev.com/c/1436777 successfully fixed the wpt.fyi flakiness for link-header-preload-srcset.tentative.html and link-header-preload-nonce.html. This patch fixes that for the remaining preload tests. - Use step_timeout instead of dummy.js?pipe=trickle, because dummy.js?pipe=trickle may be loaded from cache with no delay. - Replace verifyNumberOfDownloads() with - verifyNumberOfResourceTimingEntries() if possible - A new helper function verifyLoadedAndNoDoubleDownload() that doesn't fail if the resource was already cached before running the test. Bug: 922343 Change-Id: Ia9b7c4bd49dd76463df4607349fe4f935e5410d0 Reviewed-on: https://chromium-review.googlesource.com/c/1442020 Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> Commit-Queue: Kunihiko Sakamoto <ksakamoto@chromium.org> Cr-Commit-Position: refs/heads/master@{#629029} -- wpt-commits: eb5aa0038ee7a938beabbe4c732a685af2581dbc wpt-pr: 15129
41 lines
1.7 KiB
HTML
41 lines
1.7 KiB
HTML
<!DOCTYPE html>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="/preload/resources/preload_helper.js"></script>
|
|
<script>
|
|
var t = async_test('Makes sure that Link headers preload resources and block window.onload after resource discovery');
|
|
</script>
|
|
<body>
|
|
<style>
|
|
#background {
|
|
width: 200px;
|
|
height: 200px;
|
|
background-image: url(resources/square.png?background);
|
|
}
|
|
</style>
|
|
<link rel="stylesheet" href="resources/dummy.css?link-header-preload-delay-onload">
|
|
<script src="resources/dummy.js?link-header-preload-delay-onload"></script>
|
|
<div id="background"></div>
|
|
<script>
|
|
document.write('<img src="resources/square.png?link-header-preload-delay-onload">');
|
|
window.addEventListener("load", t.step_func(function() {
|
|
verifyPreloadAndRTSupport();
|
|
var entries = performance.getEntriesByType("resource");
|
|
var found_background_first = false;
|
|
for (var i = 0; i < entries.length; ++i) {
|
|
var entry = entries[i];
|
|
if (entry.name.indexOf("square") != -1) {
|
|
if (entry.name.indexOf("background") != -1)
|
|
found_background_first = true;
|
|
break;
|
|
}
|
|
}
|
|
assert_true(found_background_first);
|
|
verifyLoadedAndNoDoubleDownload("resources/square.png?link-header-preload-delay-onload");
|
|
verifyLoadedAndNoDoubleDownload("resources/square.png?background");
|
|
verifyLoadedAndNoDoubleDownload("resources/dummy.js?link-header-preload-delay-onload");
|
|
verifyLoadedAndNoDoubleDownload("resources/dummy.css?link-header-preload-delay-onload");
|
|
t.done();
|
|
}));
|
|
</script>
|