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

function runTest()
{
    if (window.testRunner) {
        testRunner.dumpBackForwardList();
        testRunner.dumpAsText();
        testRunner.waitUntilDone();
    }

    var form = document.getElementById("myForm");
    var divElm = document.createElement("div");
    
    var iframe = document.createElement("iframe");
    iframe.name = "myFrame";
    iframe.id = "myFrame";
    iframe.onload = frameLoaded;
    divElm.appendChild(iframe);

    document.getElementsByTagName("body").item(0).appendChild(divElm);
    
    form.submit();
}

function frameLoaded()
{
    if (document.getElementById("myFrame").contentDocument.URL === "about:blank")
        return;
    if (window.testRunner)
        testRunner.notifyDone();
}

</script>
</head>
<body onload="runTest();">
<form id="myForm" target="myFrame" action="resources/blank.txt" method="get">
</form>
In this case, Safari and Firefox don't add a history item. 
</body>
</html>
