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

Side by Side Diff: LayoutTests/http/tests/navigation/same-document-scroll-position-restore-pushstate.html

Issue 1063573002: history.pushState() should take care of scrolling state (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 8 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 unified diff | Download patch
OLDNEW
(Empty)
1 <body>
2 <script src="../../../resources/js-test.js"></script>
3 <div style="height: 1100px">scroll down...</div>
4 <button id="a">Push State</button>
5 <button id="b">Back</button>
6 <div id="log"></div>
7 <script>
8 if (window.testRunner) {
9 testRunner.dumpAsText();
10 testRunner.waitUntilDone();
11 }
12
13 function pushBrowserState()
14 {
15 history.pushState({}, '', window.location.href.split("#")[0] + "#a");
16 }
17
18 function back()
19 {
20 scrollOffsetY = window.scrollY;
21 history.back();
22 setTimeout(function() {
23 document.getElementById('log').innerHTML = 'scrollY should be ' + scroll OffsetY + ': ' + (window.scrollY == scrollOffsetY ? "PASS" : "FAIL");
24 if (window.testRunner)
25 testRunner.notifyDone();
26 }, 10);
Nate Chapin 2015/04/06 17:17:15 Is the 10ms delay required here? Could we get away
Abhijeet Kandalkar Slow 2015/04/07 08:14:49 Done. Code is removed.
27 }
28
29 window.onload = function() {
30 if (window.eventSender) {
31 var ele = document.getElementById("a");
32 ele.addEventListener('click', pushBrowserState, false);
33 window.scrollBy(0, 1000);
34
35 // Click 'Push State' button twice
Nate Chapin 2015/04/06 17:17:15 Does this test work with direct history.pushState(
Abhijeet Kandalkar Slow 2015/04/07 08:14:49 Done. eventSender dependency is removed.
36 var rect = ele.getBoundingClientRect();
37 eventSender.mouseMoveTo(rect.left + 2, rect.top + 2);
38 eventSender.mouseDown();
39 eventSender.mouseUp();
40 eventSender.mouseDown();
41 eventSender.mouseUp();
42
43 // Click 'Back' button
44 ele = document.getElementById("b");
45 ele.addEventListener('click', back, false);
46 rect = ele.getBoundingClientRect();
47 eventSender.mouseMoveTo(rect.left + 2, rect.top + 2);
48 eventSender.mouseDown();
49 eventSender.mouseUp();
50 }
51 };
52 </script>
53 </body>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698