| <!DOCTYPE html> |
| <meta charset="utf-8"> |
| <title>Subresource Integrity Check + preload + partial image rendering</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| |
| <script> |
| // https://crbug.com/1058045: Chromium crashed when: |
| // 1. <link rel="preload" as="image" integrity="..." href="url"> |
| // (strictly speaking the preload scannner) starts preloading the image, |
| // and the image url takes some time for loading, |
| // 2. <img> loads the same URL and renders the partial image after some image |
| // data is received but before fully loaded, and then |
| // 3. the image is loaded and integrity check is done. |
| |
| const t = async_test( |
| "<link rel='image'> with progressive image shouldn't crash"); |
| |
| </script> |
| |
| <link |
| rel="preload" |
| as="image" |
| integrity="sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=" |
| href="/element-timing/resources/progressive-image.py?name=square100.png&numInitial=7500&sleep=1000"> |
| <img src="/element-timing/resources/progressive-image.py?name=square100.png&numInitial=7500&sleep=1000" |
| onload="t.step_func_done()()" |
| onerror="t.unreached_func('image should load because SRI is not checked')()"> |