diff options
Diffstat (limited to 'LayoutTests/fast/dom/beforeload/remove-image-in-beforeload-listener.html')
-rw-r--r-- | LayoutTests/fast/dom/beforeload/remove-image-in-beforeload-listener.html | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/LayoutTests/fast/dom/beforeload/remove-image-in-beforeload-listener.html b/LayoutTests/fast/dom/beforeload/remove-image-in-beforeload-listener.html new file mode 100644 index 0000000..2ffda88 --- /dev/null +++ b/LayoutTests/fast/dom/beforeload/remove-image-in-beforeload-listener.html @@ -0,0 +1,47 @@ +<html> +<head> + <script src="resources/print.js"></script> + <script> + if (window.layoutTestController) { + layoutTestController.dumpAsText(); + layoutTestController.waitUntilDone(); + } + + var count = 0; + var maxCount = 10; + var timeout = 100; + + document.addEventListener("beforeload", function(event) { + if (event.target && event.target.parentElement) + event.target.parentElement.removeChild(event.target); + }, true); + </script> +</head> +<body> + <p>This page tests that you can correctly remove an img object in a beforeload listener without causing a crash.</p> + <img src="../../images/resources/test-load.jpg"> + <div id="console"></div> + <script> + function checkObjectRemoval() + { + if (!document.getElementsByTagName("img").length) { + print("PASS", "green"); + if (window.layoutTestController) + layoutTestController.notifyDone(); + return; + } + + if (++count > maxCount) { + print("FAIL", "red"); + if (window.layoutTestController) + layoutTestController.notifyDone(); + return; + } + + setTimeout("checkObjectRemoval()", timeout); + } + + setTimeout("checkObjectRemoval()", timeout); + </script> +</body> +</html> |