diff options
Diffstat (limited to 'layout/generic/test/test_scroll_position_restore.html')
-rw-r--r-- | layout/generic/test/test_scroll_position_restore.html | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/layout/generic/test/test_scroll_position_restore.html b/layout/generic/test/test_scroll_position_restore.html new file mode 100644 index 0000000000..0b3aca0b48 --- /dev/null +++ b/layout/generic/test/test_scroll_position_restore.html @@ -0,0 +1,45 @@ +<!DOCTYPE HTML> +<html> +<!-- +https://bugzilla.mozilla.org/show_bug.cgi?id=1269539 +--> +<head> + <meta charset="utf-8"> + <title>Test for Bug 1269539</title> + <script src="/tests/SimpleTest/SimpleTest.js"></script> + <script src="/tests/SimpleTest/paint_listener.js"></script> + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> +</head> +<body> +<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1269539">Mozilla Bug 1269539</a> +<p id="display"></p> +<script> +SimpleTest.waitForExplicitFinish(); + +var loadCount = 0; +var childWin = window.open('file_scroll_position_restore.html', '_blank'); + +function handleLoad() { + if (loadCount == 0) { + loadCount++; + childWin.scrollTo(0, childWin.scrollMaxY); + childWin.waitForAllPaintsFlushed(function() { + childWin.location.reload(); + }); + } else { + childWin.waitForAllPaintsFlushed(function() { + // Verify that the scroll position was retained. + // NOTE: Window.scrollMaY is a long value, so we need to round + // Window.scrollY which is double. + // NOTE: Window.scrollMaxY is non-standard, so difference < 1.0 would not + // be a big problem. + is(Math.round(childWin.scrollY), childWin.scrollMaxY); + childWin.close(); + SimpleTest.finish(); + }); + } +} + +</script> +</body> +</html> |