| <html> |
| <head> |
| <script src="../../../resources/js-test-pre.js"></script> |
| <script> |
| jsTestIsAsync = true; |
| |
| if (window.testRunner) |
| testRunner.keepWebHistory(); |
| |
| function loaded() |
| { |
| description('Verify that changes done by history.replaceState and history.pushState update visitedLinks.'); |
| |
| window.history.replaceState(null, "Title", "replacedURL.html"); |
| window.history.pushState(null, "Title", "pushedURL.html"); |
| |
| if (window.internals) { |
| style1 = internals.computedStyleIncludingVisitedInfo(document.getElementById('link1')); |
| style2 = internals.computedStyleIncludingVisitedInfo(document.getElementById('link2')); |
| |
| // The style is not necessarily updated synchronously in response to history.replaceState and history.pushState. |
| shouldBecomeEqualToString("style1.color", "rgb(255, 165, 0)", function() { |
| shouldBecomeEqualToString("style2.color", "rgb(255, 165, 0)", finishJSTest); |
| }); |
| } |
| } |
| |
| </script> |
| |
| <style> |
| :link { color: rgb(0, 255, 0); background-color: white } |
| :visited { color: rgb(255, 165, 0); background-color: black } |
| </style> |
| </head> |
| <body onload="loaded();"> |
| <p id=description></p> |
| <a id="link1" href="replacedURL.html">This link should get colored visited as a result of replaceState() setting it as the current URL</a><br> |
| <a id="link2" href="pushedURL.html">This link should get colored visited as a result of pushState() adding it to the forward list</a><br> |
| If you're running in a browser, the link should be orange-on-black and you should see "replacedURL.html" in your global history.<br> |
| If you're running in DRT, the test will also append "PASS" or "FAIL".<br> |
| <div id=console></div> |
| </body> |
| <script src="../../../resources/js-test-post.js"></script> |
| </html> |