Files
sousa-gecko/testing/web-platform/tests/fetch/range/resources/utils.js
T
Anne van Kesteren 4e5f94aeb8 Bug 2011026 [wpt PR 57225] - Fetch: blocking opaque 416 responses to range requests, a=testonly
Automatic update from web-platform-tests
Fetch: blocking opaque 416 responses to range requests

See https://github.com/whatwg/fetch/pull/1907 for context.

We use an image instead of JavaScript as JavaScript requires a 2xx status whereas images don't care.

Also remove a redundant null check from useStoredRangeResponse() and a redundant catch() elsewhere.

--

wpt-commits: e3661ee657a61122b3026e8eaaba31cbddd7a9a8
wpt-pr: 57225
2026-01-23 14:41:34 +00:00

47 lines
1.2 KiB
JavaScript

function loadScript(url, { doc = document }={}) {
return new Promise((resolve, reject) => {
const script = doc.createElement('script');
script.onload = () => resolve();
script.onerror = () => reject(Error("Script load failed"));
script.src = url;
doc.body.appendChild(script);
})
}
function loadImage(url, { doc = document }={}) {
return new Promise((resolve, reject) => {
const img = doc.createElement('img');
img.onload = () => resolve();
img.onerror = () => reject(Error("Image load failed"));
img.src = url;
doc.body.appendChild(img);
})
}
function preloadImage(url, { doc = document }={}) {
return new Promise((resolve, reject) => {
const preload = doc.createElement('link');
preload.rel = 'preload';
preload.as = 'image';
preload.onload = () => resolve();
preload.onerror = () => resolve();
preload.href = url;
doc.body.appendChild(preload);
})
}
/**
*
* @param {Document} document
* @param {string|URL} url
* @returns {HTMLAudioElement}
*/
function appendAudio(document, url) {
const audio = document.createElement('audio');
audio.muted = true;
audio.src = url;
audio.preload = true;
document.body.appendChild(audio);
return audio;
}