| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <script src="test_utils.js"></script> | |
| <script> | |
| function clickSameSiteNewWindowLink() { | |
| const element = document.getElementById('same_site_new_window_link'); | |
| element.click(); | |
| } | |
| function getSessionStorageKeys() { | |
| const keys = []; | |
| let txt = ''; | |
| for (let i = 0; i < sessionStorage.length; ++i) { | |
| keys.push(sessionStorage.key(i)); | |
| } | |
| keys.sort(); | |
| keys.forEach((key) => { | |
| if (txt.length) { | |
| txt += ', '; | |
| } | |
| txt += key; | |
| }); | |
| return txt; | |
| } | |
| const params = new URLSearchParams(location.search); | |
| const isPrerendering = params.has('prerendering'); | |
| if (isPrerendering) { | |
| sessionStorage.setItem('prerendering', '1'); | |
| window.sessionKeysInPrerenderingchange = new Promise((resolve) => { | |
| document.addEventListener('prerenderingchange', () => { | |
| resolve(getSessionStorageKeys()); | |
| sessionStorage.setItem('activated', '1'); | |
| }); | |
| }); | |
| } else { | |
| sessionStorage.setItem('initial', '1'); | |
| } | |
| </script> | |
| </head> | |
| <body> | |
| <a href="session_storage.html?prerendering=" id="same_site_new_window_link" target="_blank">same-site new window</a> | |
| </body> | |
| </html> |