Files
sousa-gecko/testing/web-platform/tests/jpegxl/html-preload-image.html
T
Helmut Januschka dc334a8ed1 Bug 2023198 [wpt PR 58481] - Add JPEG XL interop-2026 coverage and decoder tests, a=testonly
Automatic update from web-platform-tests
Add JPEG XL interop-2026 coverage and decoder tests

Introduce automated interop WPT coverage and strengthen Blink JXL decoder unit tests for orientation, ICC/CMYK, and high bit-depth fixtures.

Bug: 484065185
Change-Id: Ie5f33c477b616e03b3f3a21d006c6ae1da09294e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7572466
Commit-Queue: Philip Jägenstedt <foolip@chromium.org>
Reviewed-by: Philip Jägenstedt <foolip@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1598968}

--

wpt-commits: e1d141414f248bfe6653ca049bf70db7146ecf8d
wpt-pr: 58481
2026-03-23 08:18:24 +00:00

37 lines
1.2 KiB
HTML

<!DOCTYPE html>
<title>JPEG XL integration: link rel=preload as=image</title>
<link rel="help" href="https://github.com/web-platform-tests/interop-jpegxl">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
promise_test(async () => {
const href = new URL('resources/3x3_srgb_lossless.jxl', location.href).toString();
const preload = document.createElement('link');
preload.rel = 'preload';
preload.as = 'image';
preload.href = href;
const preloadDone = new Promise((resolve, reject) => {
preload.onload = resolve;
preload.onerror = () => reject(new Error('preload failed'));
});
document.head.appendChild(preload);
await preloadDone;
const img = new Image();
const loaded = new Promise((resolve, reject) => {
img.onload = resolve;
img.onerror = () => reject(new Error('image failed after preload'));
});
img.src = href;
await loaded;
assert_greater_than(img.naturalWidth, 0);
assert_true(performance.getEntriesByName(href).length > 0,
'resource timing should include the JPEG XL image request');
}, '<link rel=preload as=image> preloads JPEG XL image');
</script>