<!DOCTYPE html>
<html>
<head>
<script src="/js-test-resources/js-test-pre.js"></script>
<script type="text/javascript">
var str = "<script type='text/javascript' src='http://127.0.0.1:8000/misc/resources/hang-connection.py'><" + "/script>";

function loadFirst()
{
    document.getElementById("ad").src = "javascript: window.parent.str";
}

function finish()
{
    gc();
    if (window.testRunner)
        testRunner.notifyDone();    
}

function loadSecond()
{
    document.getElementById("ad").src = "javascript: '<!DOCTYPE html><script>window.parent.finish();<" + "/script>'";
}

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

setTimeout("loadFirst();", 0);
setTimeout("loadSecond();", 0);
</script>
</head>
<body>
<p>This test checks whether loading a JavaScript URL cancels loaders. If it fails, it will give an assertion failure in Debug builds.</p>
<iframe id="ad"></iframe>
</body>
</html>
