This tests that an inactive document cannot access a named element in a cross-origin active document.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


Lookup named element whose name corresponds to an element in the initial about:blank document:
PASS elementAInActiveDocumentFunction() threw exception SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame. Protocols, domains, and ports must match..

Lookup named element whose name does not correspond to an element in the initial about:blank document:
PASS elementBInActiveDocumentFunction() threw exception SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame. Protocols, domains, and ports must match..
PASS successfullyParsed is true

TEST COMPLETE

