<!DOCTYPE html>
<html>
<head>
<script src="/js-test-resources/js-test-pre.js"></script>
<script>
window.jsTestIsAsync = true;
</script>
</head>
<body>
<script>
description("This tests that an inactive document can access a named element in a same-origin active document.");

var frame = document.body.appendChild(document.createElement("iframe")); // Loads about:blank

var frameDocument = frame.contentDocument;
var elementAInInactiveDocument = frameDocument.createElement("div");
elementAInInactiveDocument.id = "A";
frameDocument.body.appendChild(elementAInInactiveDocument);

var elementAInDetachedWindowFunction = frame.contentWindow.Function("return A;");
var elementBInDetachedWindowFunction = frame.contentWindow.Function("return B;");

frame.onload = function ()
{
    debug("Lookup named element whose name corresponds to an element in the initial about:blank document:");
    shouldNotBe("frame.contentDocument.getElementById('A')", "elementAInInactiveDocument");
    shouldBe("elementAInDetachedWindowFunction()", "elementAInInactiveDocument");

    debug("<br>Lookup named element whose name does not correspond to an element in the initial about:blank document:");
    shouldThrowErrorName("elementBInDetachedWindowFunction()", "ReferenceError");

    finishJSTest();
}

frame.src = "http://127.0.0.1:8000/security/resources/innocent-victim-with-named-elements.html"; // about:blank becomes the inactive document
</script>
<script src="/js-test-resources/js-test-post.js"></script>
</body>
</html>
