<!DOCTYPE html>
<html>
    <head>
        <script>
            if (window.testRunner) {
                testRunner.dumpAsText();
                testRunner.waitUntilDone();
            }

            function removeFrame()
            {
                document.body.removeChild(document.getElementById("frame"));
                if (testRunner)
                    setTimeout(function() { testRunner.notifyDone();}, 0);
            }
        </script>
    </head>
    <body>
        Test deleting a subframe from within its readystatechange event and garbage collecting
        right after removing the video element from the document. We pass if we don't crash.
        <iframe id="frame" src="resources/delete-frame-during-readystatechange-frame-with-gc-after-video-removal.html"></iframe>
    </body>
</html>
