summaryrefslogtreecommitdiffstats
path: root/LayoutTests/fast/dom/beforeload/remove-image-in-beforeload-listener.html
diff options
context:
space:
mode:
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.html47
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>