Source code

Revision control

Copy as Markdown

Other Tools

<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>Bug 1300461</title>
</head>
<!-- The empty unload handler is to prevent bfcache. -->
<body onload="test();" onunload="">
<script>
let Ci = SpecialPowers.Ci;
let webNav = SpecialPowers.wrap(window)
.docShell
.QueryInterface(Ci.nsIWebNavigation);
let shistory = webNav.sessionHistory;
async function test() {
if (opener) {
opener.info("file_bug1300461_back.html");
opener.is(shistory.count, 2, "check history length");
opener.is(shistory.index, 1, "check history index");
if (!SpecialPowers.Services.appinfo.sessionHistoryInParent) {
opener.is(shistory.legacySHistory.requestedIndex, -1, "check requestedIndex");
} else {
let index = await opener.getSHRequestedIndex(SpecialPowers.wrap(window).browsingContext.id);
opener.is(index, -1, "check requestedIndex");
}
opener.ok(webNav.canGoBack, "check canGoBack");
if (opener.testCount == 1) {
opener.info("replaceState to redirect.html");
window.history.replaceState({}, "", "file_bug1300461_redirect.html");
}
window.history.back();
}
}
</script>
</body>
</html>