<html>
<body onload="test()">
<iframe srcdoc='<a id="a" href="%23" onclick="document.write(window != top ? &apos;<p>FAIL</p>&apos; : &apos;<p>PASS</p>&apos;); return false">link</a>'></iframe>
<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}

function test()
{
    var doc = frames[0].document;
    var range=doc.createRange();
    range.selectNodeContents(doc.body);
    var frag=range.cloneContents();
    document.body.appendChild(frag);

    frames[0].location = "data:text/html,";
    frames[0].frameElement.onload = test2;
}

function test2()
{
    var event = top.document.createEvent('MouseEvent');
    event.initEvent('click', true, true);
    top.document.getElementsByTagName('a')[0].dispatchEvent(event);
    if (window.testRunner)
        testRunner.notifyDone();
}
</script>
</body>
</html>
