33 lines
1000 B
HTML
33 lines
1000 B
HTML
<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>
|