| Index: LayoutTests/http/tests/security/javascriptURL/javascriptURL-execution-context-frame-location-htmldom-uncaught.html
|
| diff --git a/LayoutTests/http/tests/security/javascriptURL/javascriptURL-execution-context-frame-location-htmldom-uncaught.html b/LayoutTests/http/tests/security/javascriptURL/javascriptURL-execution-context-frame-location-htmldom-uncaught.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..a53a068bd530899115a8e3f5ad2736f2b953fc22
|
| --- /dev/null
|
| +++ b/LayoutTests/http/tests/security/javascriptURL/javascriptURL-execution-context-frame-location-htmldom-uncaught.html
|
| @@ -0,0 +1,39 @@
|
| +<html>
|
| +<head>
|
| + <script>
|
| + if (window.testRunner) {
|
| + testRunner.dumpAsText();
|
| + testRunner.dumpChildFramesAsText();
|
| + testRunner.waitUntilDone();
|
| + }
|
| +
|
| + window.addEventListener('message', function() {
|
| + runTest();
|
| + if (window.testRunner)
|
| + testRunner.notifyDone();
|
| + });
|
| +
|
| + window.onerror = function (msg) {
|
| + var jsErrorMessage = 'Uncaught SecurityError: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.';
|
| + if (msg == jsErrorMessage)
|
| + console.log("PASS: Exception was '" + msg + "'.");
|
| + else
|
| + console.log("FAIL: Exception should have been '" + jsErrorMessage + "', was '" + msg + "'.");
|
| +
|
| + if (window.testRunner)
|
| + setTimeout(testRunner.notifyDone.bind(testRunner), 0);
|
| +
|
| + return false; // Don't handle the exception to ensure it shows up in the console.
|
| + };
|
| +
|
| + function runTest() {
|
| + var frame = document.getElementById('aFrame');
|
| + frame.location = 'javascript:"FAIL: this should not have been loaded."';
|
| + }
|
| + </script>
|
| +</head>
|
| +<frameset rows="10%,*">
|
| + <frame id='main' src="data:text/html,<p>This test passes as long as the onerror handler logs PASS to the console, and the uncaught exception reported to the console has unsanitized detail.</p>">
|
| + <frame id='aFrame' src='http://localhost:8000/security/resources/cross-frame-iframe.html'>
|
| +</frameset>
|
| +</html>
|
|
|