mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-08 08:48:39 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
63
docshell/test/navigation/file_bug1300461.html
Normal file
63
docshell/test/navigation/file_bug1300461.html
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Bug 1300461</title>
|
||||
</head>
|
||||
<body onload="test();">
|
||||
<script>
|
||||
/**
|
||||
* Bug 1300461 identifies that if a history entry was not bfcached, and
|
||||
* a http redirection happens when navigating to that entry, the history
|
||||
* index would mess up.
|
||||
*
|
||||
* The test case emulates the circumstance by the following steps
|
||||
* 1) Navigate to file_bug1300461_back.html which is not bf-cachable.
|
||||
* 2) In file_bug1300461_back.html, replace its own history state to
|
||||
* file_bug1300461_redirect.html.
|
||||
* 3) Back, and then forward. Since the document is not in bfcache, it
|
||||
* tries to load file_bug1300461_redirect.html directly.
|
||||
* 4) file_bug1300461_redirect.html redirects UA to
|
||||
* file_bug1300461_back.html through HTTP 301 header.
|
||||
*
|
||||
* We verify the history index, canGoBack, canGoForward, etc. keep correct
|
||||
* in this process.
|
||||
*/
|
||||
let Ci = SpecialPowers.Ci;
|
||||
let webNav = SpecialPowers.wrap(window)
|
||||
.QueryInterface(Ci.nsIInterfaceRequestor)
|
||||
.getInterface(Ci.nsIWebNavigation);
|
||||
let shistory = webNav.sessionHistory;
|
||||
let testSteps = [
|
||||
function() {
|
||||
opener.is(shistory.count, 1, 'check history length');
|
||||
opener.is(shistory.index, 0, 'check history index');
|
||||
opener.ok(!webNav.canGoForward, 'check canGoForward');
|
||||
setTimeout(() => window.location = 'file_bug1300461_back.html', 0);
|
||||
},
|
||||
function() {
|
||||
opener.is(shistory.count, 2, 'check history length');
|
||||
opener.is(shistory.index, 0, 'check history index');
|
||||
opener.ok(webNav.canGoForward, 'check canGoForward');
|
||||
window.history.forward();
|
||||
opener.is(shistory.requestedIndex, 1, 'check requestedIndex');
|
||||
},
|
||||
function() {
|
||||
opener.is(shistory.count, 2, 'check history length');
|
||||
opener.is(shistory.index, 0, 'check history index');
|
||||
opener.ok(webNav.canGoForward, 'check canGoForward');
|
||||
opener.info('file_bug1300461.html tests finished');
|
||||
opener.nextTest();
|
||||
window.close();
|
||||
}
|
||||
];
|
||||
|
||||
function test() {
|
||||
if (opener) {
|
||||
opener.info('file_bug1300461.html test ' + opener.testCount);
|
||||
testSteps[opener.testCount++]();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Add table
Add a link
Reference in a new issue