<body>
<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}

var ifr = document.createElement('iframe');
ifr.setAttribute('src', 'javascript:parent.boom(), "<div>Crash?</div>"');
document.body.appendChild(ifr);

function boom() {
    document.body.removeChild(ifr);
    if (window.testRunner)
        testRunner.notifyDone();
}
</script>
This test passes if it doesn't crash.
