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
37 lines
1.2 KiB
HTML
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>
|