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

Side by Side Diff: LayoutTests/fast/loader/scroll-position-restoration-for-history-api.html

Issue 1239463005: Replace history.options with history.scrollRestoration attribute (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Move setScrollRestorationType to History Created 5 years, 4 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
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <style> 2 <style>
3 body { 3 body {
4 height: 2000px; 4 height: 2000px;
5 width: 2000px; 5 width: 2000px;
6 } 6 }
7 </style> 7 </style>
8 8
9 <div id='console'></div> 9 <div id='console'></div>
10 <script src="../../resources/js-test.js"></script> 10 <script src="../../resources/js-test.js"></script>
(...skipping 17 matching lines...) Expand all
28 // 1. Create a history entry using pushState then scroll 28 // 1. Create a history entry using pushState then scroll
29 // 2. Create a history entry and replace it then scroll 29 // 2. Create a history entry and replace it then scroll
30 // 3-6. Repeat 1 & 2 with different option values 30 // 3-6. Repeat 1 & 2 with different option values
31 // 7. Navigate away and come back 31 // 7. Navigate away and come back
32 // 8-13. Verify 6 to 1 and keep navigating back 32 // 8-13. Verify 6 to 1 and keep navigating back
33 function handleNavigation() { 33 function handleNavigation() {
34 if (window.name !== 'verification phase') { 34 if (window.name !== 'verification phase') {
35 for (var key in tests) { 35 for (var key in tests) {
36 var test = tests[key]; 36 var test = tests[key];
37 var args = [{key: key}, '', key]; 37 var args = [{key: key}, '', key];
38 if ('options' in test)
39 args.push(test.options);
40 38
41 if (test.type == 'push') { 39 if (test.type == 'push') {
42 history.pushState.apply(history, args); 40 history.pushState.apply(history, args);
43 } else { 41 } else {
44 history.pushState(null, '', key); 42 history.pushState(null, '', key);
45 history.replaceState.apply(history, args); 43 history.replaceState.apply(history, args);
46 } 44 }
47 45
46 if ('options' in test)
47 history.scrollRestoration = test.options.scrollRestoration;
48
48 window.scrollBy(50, 100); 49 window.scrollBy(50, 100);
49 } 50 }
50 51
51 setTimeout(function() { 52 setTimeout(function() {
52 window.name = 'verification phase'; 53 window.name = 'verification phase';
53 window.location.href = 'resources/empty-document-goes-back.html'; 54 window.location.href = 'resources/empty-document-goes-back.html';
54 }, 0); 55 }, 0);
55 } else { 56 } else {
56 var key = location.hash, 57 var key = location.hash,
57 test = tests[key]; 58 test = tests[key];
58 59
59 debug('verifying ' + key); 60 debug('verifying ' + key);
60 shouldBeEqualToString('history.state.key', '' + key); 61 shouldBeEqualToString('history.state.key', '' + key);
61 shouldBe('document.scrollingElement.scrollLeft', test.expectedScroll[0].toSt ring()); 62 shouldBe('document.scrollingElement.scrollLeft', test.expectedScroll[0].toSt ring());
62 shouldBe('document.scrollingElement.scrollTop', test.expectedScroll[1].toStr ing()); 63 shouldBe('document.scrollingElement.scrollTop', test.expectedScroll[1].toStr ing());
63 64
64 if (key !== '#1') { 65 if (key !== '#1') {
65 window.history.back(); 66 window.history.back();
66 } else { 67 } else {
67 window.name = ''; 68 window.name = '';
68 finishJSTest(); 69 finishJSTest();
69 } 70 }
70 } 71 }
71 } 72 }
72 73
73 window.addEventListener('pageshow', handleNavigation); 74 window.addEventListener('pageshow', handleNavigation);
74 window.addEventListener('hashchange', handleNavigation); 75 window.addEventListener('hashchange', handleNavigation);
75 </script> 76 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698