<html>
<head>
<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
    testRunner.dumpChildFramesAsText()
}
function test()
{
    var frame = document.createElement('iframe');
    frame.setAttribute('src', 'http://localhost:8000/security/resources/no-custom-property.html');
    document.body.appendChild(frame);
    var w = frame.contentWindow;
    w.myProp = 1;
}

</script>
<body onload='test()'>
Test that window properties set for initial document are reset if domain security check fails 


