Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(637)

Unified Diff: LayoutTests/fast/loader/scroll-position-restored-on-reload-at-load-event.html

Issue 52893003: scrollTop and scrollLeft always 0 in DOMContentLoaded handler on a scrolled page (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: LayoutTests/fast/loader/scroll-position-restored-on-reload-at-load-event.html
diff --git a/LayoutTests/fast/loader/scroll-position-restored-on-reload-at-load-event.html b/LayoutTests/fast/loader/scroll-position-restored-on-reload-at-load-event.html
new file mode 100644
index 0000000000000000000000000000000000000000..eb6ed17a4d56fc26ddbda7f978ed4bd2e2f642dc
--- /dev/null
+++ b/LayoutTests/fast/loader/scroll-position-restored-on-reload-at-load-event.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <script src="../js/resources/js-test-pre.js"></script>
+ <script>
+ description('Test ensures that documentElement.scrollTop/Left properties are available by the time DOMContentLoaded event fires.');
+ // Navigation steps:
+ // 1- page gets first loaded and scrolled.
+ // 2- reload is performed.
+ // Test: ensure that by the time DOMContenLoaded fires (after a reload navigation), documentElement.scrollTop/Left are set.
+
+ function init(evt) {
+ if (window.name == 'second/load') {
+ shouldBe('document.documentElement.scrollTop', '2000');
+ shouldBe('document.documentElement.scrollLeft', '1000');
+ window.name = "";
+
+ if (window.testRunner)
+ finishJSTest();
+ } else {
+ window.scrollTo(1000, 2000);
+
+ window.name = "second/load";
+ setTimeout('location.reload(true)', 0);
+ }
+ }
+
+ window.addEventListener('DOMContentLoaded', init, true);
+ window.onunload = function() {} // prevent caching
+
+ var jsTestIsAsync = true;
+ </script>
+ <body>
+ <div style='width: 9999px; height:9999px; float:left;'></div>
+ <h1 id='console'/>
+ </body>
+ <script src="../js/resources/js-test-post.js"></script>
+</html>

Powered by Google App Engine
This is Rietveld 408576698