Tests [[Delete]] for cross origin Window / Location.

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


PASS delete targetWindow.existingProperty threw exception SecurityError (DOM Exception 18): Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match..
PASS delete targetWindow.name threw exception SecurityError (DOM Exception 18): Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match..
PASS delete targetWindow[1] threw exception SecurityError (DOM Exception 18): Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match..
PASS delete targetWindow.location.existingProperty threw exception SecurityError (DOM Exception 18): Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match..
PASS delete targetWindow.location.host threw exception SecurityError (DOM Exception 18): Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match..
PASS delete targetWindow.location[1] threw exception SecurityError (DOM Exception 18): Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match..
PASS: successfullyParsed should be 'true' and is.

TEST COMPLETE



--------
Frame: '<!--framePath //<!--frame0-->-->'
--------

----- tests for deleting the properties of window, window.history, and window.location cross-domain -----

PASS: window.existingProperty should be 'test value' and is.
PASS: window[1] should be 'test value' and is.
PASS: window.history.existingProperty should be 'test value' and is.
PASS: window.history[1] should be 'test value' and is.
PASS: window.location.existingProperty should be 'test value' and is.
PASS: window.location[1] should be 'test value' and is.

