<html>
<head>
    <title>Test for http://bugs.webkit.org/show_bug.cgi?id=13015</title>
    <script>
        function test()
        {
            if (location.href.indexOf("?") == -1) {
                if (window.layoutTestController) {
                    layoutTestController.dumpAsText();
                    layoutTestController.waitUntilDone();
                }
                location.href = "resources/onunload-form-submit-success.html";
            } else {
                document.getElementById("result").innerText = "FAIL";
                if (window.layoutTestController)
                    layoutTestController.notifyDone();
            }
        }

        function handleUnload()
        {
            if (location.href.indexOf("?") == -1)
                document.myForm.submit();
        }
    </script>
</head>
<body onload="test()" onunload="handleUnload()">
    <form name="myForm">
    </form>
    <p id="result">
        Test did not finish.
    </p>
</body>
<html>
