<html>
<head>
<script type="text/javascript">

if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}

var xhr = new XMLHttpRequest();

xhr.onreadystatechange = function() {
    if (xhr.readyState == 4) {
        document.getElementById("page").textContent = "PASS";
        if (window.testRunner)
            testRunner.notifyDone();
    }
}

xhr.open("POST", "resources/1251.html", true);
xhr.send(null);
</script>
</head>
<body>
<p> Test case for <a href="http://bugs.webkit.org/show_bug.cgi?id=16906">bug 16906</a>: [CURL] Crash below ResourceHandleManager::setupPOST when job->request().httpBody() is NULL </p>
<p> This page should not crash and you should see PASS</p>
<div id="page"/>
</body>
</html>
