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

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

    document.getElementById("myForm").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. 
<iframe name="myFrame" id="myFrame" onload="frameLoaded()"></iframe>
</body>
</html>
