chromium/third_party/blink/web_tests/http/tests/misc/iframe-domain-test.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org\tR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>iFrame Test</title>
<script>
function run()
{
    window.frames['test1'].document.open("text/html","replace");
    window.frames['test1'].document.close();
                        
    var src = "<html>\n<head>\n<script>\nfunction fill()\n{\n    document.getElementById(\"domain\").innerHTML = document.domain;\n    document.getElementById(\"URL\").innerHTML = document.URL;\n    document.getElementById(\"wlh\").innerHTML = window.location.href;\n    document.getElementById(\"plh\").innerHTML = parent.location.href;\n}\n<\/script>\n<\/head>\n<body onload=\"fill();\">\nThis iframe's src was set with document.write.\n<br><br>\ndocument.domain: <span id=\"domain\"><\/span>\n<br><br>\ndocument.URL: <span id=\"URL\"><\/span>\n<br><br>\nwindow.location.href: <span id=\"wlh\"><\/span>\n<br><br>\nparent.location.href: <span id=\"plh\"><\/span>\n<\/body>\n<\/html>\n";
    window.frames['test2'].document.open("text/html","replace");
    window.frames['test2'].document.write(src);
    window.frames['test2'].document.close();

    var oSpan1 = document.getElementById("result1");
    var pass = true;
    var str = "";
    if (window.frames['test1'].document.domain != document.domain) {
        pass = false;
        str = "document.domain is " + window.frames['test1'].document.domain + " but should be " + document.domain + "<br>";
    }
        
    if (window.frames['test1'].document.URL != document.URL) {
        pass = false;
        str += "document.URL is " + window.frames['test1'].document.URL + " but should be " + document.URL + "<br>";
    }

    if (window.frames['test1'].window.location.href != window.location.href) {
        pass = false;
        str += "window.location.href is " + window.frames['test1'].window.location.href + " but should be " + window.location.href + "<br>";
    }

    if (window.frames['test1'].parent.location.href != parent.location.href) {
        pass = false;
        str += "parent.location.href is " + window.frames['test1'].parent.location.href + " but should be " + parent.location.href + "<br>";
    }
    
    if (pass)
    {
        oSpan1.setAttribute("style", "color: green;");
        oSpan1.innerHTML = "PASS";
    }
    else
    {
        oSpan1.setAttribute("style", "color: red;");
        oSpan1.innerHTML = "FAIL<br>" + str;
    }
        
    var oSpan2 = document.getElementById("result2");
    pass = true;
    str = "";
    if (window.frames['test2'].document.domain != document.domain) {
        pass = false;
        str = "document.domain is " + window.frames['test2'].document.domain + " but should be " + document.domain + "<br>";
    }
        
    if (window.frames['test2'].document.URL != document.URL) {
        pass = false;
        str += "document.URL is " + window.frames['test2'].document.URL + " but should be " + document.URL + "<br>";
    }

    if (window.frames['test2'].window.location.href != window.location.href) {
        pass = false;
        str += "window.location.href is " + window.frames['test2'].window.location.href + " but should be " + window.location.href + "<br>";
    }

    if (window.frames['test2'].parent.location.href != parent.location.href) {
        pass = false;
        str += "parent.location.href is " + window.frames['test2'].parent.location.href + " but should be " + parent.location.href + "<br>";
    }
    
    if (pass)
    {
        oSpan2.setAttribute("style", "color: green;");
        oSpan2.innerHTML = "PASS";
    }
    else
    {
        oSpan2.setAttribute("style", "color: red;");
        oSpan2.innerHTML = "FAIL<br>" + str;
    }    

    if (window.testRunner)
        testRunner.dumpAsText();
}

</script>
</head>

<body onload="run();">
<iframe name="test1" style="border: 1px solid black;"></iframe><span id="result1"></span><br>
<iframe name="test2" style="width: 500px; height: 200px; border: 1px solid black;"></iframe><span id="result2"></span><br>
</body>
</html>