| <html> |
| <head> |
| <script src="resources/cross-frame-access.js"></script> |
| <script> |
| window.onload = function() |
| { |
| if (window.testRunner) { |
| testRunner.dumpAsText(); |
| testRunner.waitUntilDone(); |
| } |
| |
| if (window.testRunner) { |
| setTimeout(pollForTest, 1); |
| } else { |
| log("To run the test, click the button below when the frame window finishes loading."); |
| var button = document.createElement("button"); |
| button.appendChild(document.createTextNode("Run Test")); |
| button.onclick = runTest; |
| document.body.appendChild(button); |
| } |
| } |
| |
| pollForTest = function() |
| { |
| if (!testRunner.globalFlag) { |
| setTimeout(pollForTest, 1); |
| return; |
| } |
| runTest(); |
| testRunner.notifyDone(); |
| } |
| |
| runTest = function() |
| { |
| window.targetWindow = frames[0]; |
| |
| log("\n----- tests for getting window.location's properties -----\n"); |
| |
| shouldBeTrue("canGet('targetWindow.location')"); |
| shouldBe("toString('targetWindow.location', '')", "''"); |
| |
| log("Firefox allows access to 'location.toString' but throws an exception when you call it."); |
| shouldBeFalse("canGet('targetWindow.location.toString')"); |
| |
| shouldBeFalse("canGet('targetWindow.location.href')"); |
| shouldBeFalse("canGet('targetWindow.location.hash')"); |
| shouldBeFalse("canGet('targetWindow.location.host')"); |
| shouldBeFalse("canGet('targetWindow.location.hostname')"); |
| shouldBeFalse("canGet('targetWindow.location.pathname')"); |
| shouldBeFalse("canGet('targetWindow.location.port')"); |
| shouldBeFalse("canGet('targetWindow.location.protocol')"); |
| shouldBeFalse("canGet('targetWindow.location.search')"); |
| shouldBeFalse("canGet('targetWindow.location.assign')"); |
| shouldBeFalse("canGet('targetWindow.location.reload')"); |
| |
| shouldBeTrue("canGet('targetWindow.location.replace')"); |
| |
| shouldBeFalse("canGet('targetWindow.location.existingCustomProperty')"); |
| } |
| </script> |
| </head> |
| <body> |
| <iframe src="http://localhost:8000/security/resources/cross-frame-iframe-for-location-get-test.html"></iframe> |
| <pre id="console"></pre> |
| </body> |
| </html> |