<html>
<head>
    <script>
        if (window.testRunner) {
            testRunner.dumpAsText();
            testRunner.waitUntilDone();
        }
        function childLoaded() {
            setTimeout("window.frames['iframe'].location = 'resources/multipart-wait-before-boundary.py?done=1'", 0);
        }
        function success() {
            if (window.testRunner) {
                document.getElementById('status').innerHTML = 'SUCCESS';
                testRunner.notifyDone();
            }
        }
    </script>
</head>
<body>
    <p id="status">RUNNING...</p>
    <iframe id="iframe" name="iframe" src="resources/multipart-wait-before-boundary.py">
</body>
</html>
