<html>
<head>
<script>
function runTest()
{
    if (window.layoutTestController) {
        layoutTestController.dumpAsText();
        layoutTestController.waitUntilDone();
    }
    
    var t = '<script>if(window.layoutTestController) layoutTestController.notifyDone()</scri';
    t += 'pt><div>If you can see this text and it is not in a subframe the test has FAILED.</div>'
    window['subframe'].open('data:text/html,' + t, '_self');
}
</script>
</head>
<body onload="runTest()">
<div>This tests that calling somewindow.open performs the frame name lookup in the context of somewindow and not the window running the script.</div>
<div>SUCCESS - did not replace window contents</div>
<iframe name="subframe" id="iframe">
</iframe>
</body>
</html>
