blob: 007fff3d7faaccccd2d57caa87a46ec0abd9ed0a [file] [log] [blame]
<html>
<head>
<script>
if (window.testRunner) {
testRunner.dumpAsText();
testRunner.waitUntilDone();
}
window.unload = function() {
alert("FAIL");
}
window.onload = function() {
// There's no way to write a test that determinstically fails because the
// history API is asynchronous. There's no way to know whether the
// asynchronous haven't yet happened or never will. Consequently, we just
// wait for a bit.
setTimeout(function() {
alert("PASS");
if (window.testRunner)
testRunner.notifyDone();
}, 20);
}
</script>
</head>
<body>
<p>This test verifies that a sandboxed IFrame cannot navigate the top-level frame using the history API.</p>
<iframe sandbox="allow-scripts" src="data:text/html,<script>top.history.back()</script>">
<iframe sandbox="allow-scripts" src="data:text/html,<script>top.history.forward()</script>">
<iframe sandbox="allow-scripts" src="data:text/html,<script>top.history.go(-1)</script>">
</body>
</html>