| <!DOCTYPE HTML> |
| <html> |
| <head> |
| <meta charset="utf-8"> |
| <title>Detect simple soft navigation.</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/resources/testdriver.js"></script> |
| <script src="/resources/testdriver-vendor.js"></script> |
| <script src="resources/soft-navigation-helper.js"></script> |
| </head> |
| <body> |
| <main id=main> |
| <div> |
| <a id=link>Click me!</a> |
| </div> |
| </main> |
| <script> |
| // Push state twice, so that history.back() will trigger a popstate event, |
| // when the first push state is restored. |
| history.pushState({}, "", "foobar.html"); |
| history.pushState({}, "", "another_one.html"); |
| |
| const link = document.getElementById("link"); |
| link.addEventListener("click", () => { |
| history.back(); |
| timestamps[counter]["eventEnd"] = performance.now(); |
| }); |
| testSoftNavigation({ |
| addContent: () => { |
| // Add the content to the main element |
| const main = document.getElementById("main"); |
| main.removeChild(document.getElementsByTagName("div")[0]); |
| const div = document.createElement("div"); |
| const text = document.createTextNode("Lorem ipsum"); |
| div.appendChild(text); |
| div.style="font-size: 3em"; |
| main.appendChild(div); |
| }, |
| link: link, |
| testName: "A soft navigation that uses a same-document initiated popstate" |
| + " event is recognized by SoftNavigationHeuristics", |
| eventType: "popstate"}); |
| </script> |
| </body> |
| </html> |
| |
| |
| |
| |