blob: 5ae1cdde1cd44028cdf08641c68196b33d4fb586 [file] [log] [blame]
<html>
<head>
<script src="../../resources/js-test-pre.js"></script>
<style>
body {
height: 2000px;
width: 2000px;
}
</style>
</head>
<body>
<script>
var jsTestIsAsync = true;
description("Tests that history.scrollRestoration works for same-document navigations");
if (window.testRunner)
testRunner.clearBackForwardList();
shouldBeTrue("'scrollRestoration' in history");
// Can't create history entries inside the onload handler.
window.setTimeout(testAutoScrollRestoration, 0);
function testAutoScrollRestoration()
{
history.scrollRestoration = 'auto';
shouldBeEqualToString('history.scrollRestoration', 'auto');
window.scrollTo(123, 456);
history.pushState(null, '', '#1');
window.scrollTo(0, 0);
history.back();
window.setTimeout(function () {
shouldBe('window.scrollX', '123');
shouldBe('window.scrollY', '456');
testManualScrollRestoration();
}, 0);
}
function testManualScrollRestoration()
{
history.scrollRestoration = 'manual';
shouldBeEqualToString('history.scrollRestoration', 'manual');
window.scrollTo(234, 567);
history.pushState(null, '', '#2');
window.scrollTo(333, 555);
history.back();
window.setTimeout(function() {
shouldBe('window.scrollX', '333');
shouldBe('window.scrollY', '555');
window.scrollTo(0, 0);
finishJSTest();
}, 0);
}
</script>
<script src="../../resources/js-test-post.js"></script>
</body>
</html>