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
47 lines
1.2 KiB
JavaScript
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;
|
|
}
|