45 lines
1.7 KiB
HTML
45 lines
1.7 KiB
HTML
<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>
|