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

function finish()
{
    if (location.nonstandardProperty != "hax0red")
        document.getElementById("console").innerHTML = "PASS: cross-site assignment of location.nonstandardProperty not allowed";
    else
        document.getElementById("console").innerHTML = "FAIL: cross-site assignment of location.nonstandardProperty was allowed!";

    if (window.layoutTestController)
        layoutTestController.notifyDone();
}
</script>

<body onload="finish()">

    <iframe src="http://localhost:8000/security/resources/xss-DENIED-assign-location-nonstandardProperty-attacker.html"></iframe>

<div id="console"></div>
</body>
</html>
