mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-26 17:55:07 +02:00
Add 18 crash tests covering various scenarios where image loading callbacks fire after an iframe has been removed from the DOM, making its document inactive. These tests cover microtasks, element tasks, batching dispatcher callbacks, decode promises, lazy loading, srcset, picture elements, nested iframes, document adoption, and iframe reattach/remove cycles.
24 lines
858 B
HTML
24 lines
858 B
HTML
<!DOCTYPE html>
|
|
<!-- Test: An iframe with srcdoc containing an image element. The srcdoc document
|
|
starts loading the image, then the iframe is removed, making the srcdoc
|
|
document inactive. Image callbacks fire on the inactive document. -->
|
|
<html class="test-wait">
|
|
<body>
|
|
<script>
|
|
const imageUrl = new URL("../../Assets/120.png", document.baseURI).href;
|
|
const iframe = document.createElement("iframe");
|
|
iframe.srcdoc = `<!DOCTYPE html><body><img src="${imageUrl}">`;
|
|
iframe.onload = () => {
|
|
// The srcdoc document is now active and the image is loading.
|
|
// Remove the iframe to make the document inactive.
|
|
iframe.remove();
|
|
|
|
setTimeout(() => {
|
|
document.documentElement.classList.remove("test-wait");
|
|
}, 500);
|
|
};
|
|
document.body.appendChild(iframe);
|
|
</script>
|
|
</body>
|
|
</html>
|