diff options
Diffstat (limited to 'LayoutTests/fast/dom/beforeload/remove-flash-in-beforeload-listener.html')
-rw-r--r-- | LayoutTests/fast/dom/beforeload/remove-flash-in-beforeload-listener.html | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/LayoutTests/fast/dom/beforeload/remove-flash-in-beforeload-listener.html b/LayoutTests/fast/dom/beforeload/remove-flash-in-beforeload-listener.html new file mode 100644 index 0000000..1c8c021 --- /dev/null +++ b/LayoutTests/fast/dom/beforeload/remove-flash-in-beforeload-listener.html @@ -0,0 +1,48 @@ +<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 a flash object in a beforeload listener without causing a crash.</p> + <object type="application/x-shockwave-flash" data="../../../plugins/resources/simple_blank.swf"></object> + <div id="console"></div> + <script> + function checkObjectRemoval() + { + if (!document.getElementsByTagName("object").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> + |