mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-09 09:18:42 +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
90
docshell/test/test_bug529119-2.html
Normal file
90
docshell/test/test_bug529119-2.html
Normal file
|
|
@ -0,0 +1,90 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>Test bug 529119</title>
|
||||
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
|
||||
|
||||
<script class="testbody" type="text/javascript">
|
||||
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
SimpleTest.requestFlakyTimeout("untriaged");
|
||||
|
||||
var workingURL = "http://mochi.test:8888/tests/docshell/test/bug529119-window.html";
|
||||
var faultyURL = "http://some-nonexistent-domain-27489274c892748217cn2384.com/";
|
||||
|
||||
var w = null;
|
||||
var phase = 0;
|
||||
var isWindowLoaded = false;
|
||||
|
||||
function pollForPage(expectErrorPage, f, w)
|
||||
{
|
||||
// Start with polling after a delay, we might mistakenly take the current page
|
||||
// as an expected one.
|
||||
window.setTimeout(function() {
|
||||
var iterationsLeft = 200;
|
||||
var int = window.setInterval(function() {
|
||||
iterationsLeft--;
|
||||
|
||||
var haveErrorPage = false;
|
||||
try {
|
||||
var title = w.document.title;
|
||||
}
|
||||
catch (ex) {
|
||||
haveErrorPage = true;
|
||||
}
|
||||
|
||||
if (iterationsLeft == 0 || expectErrorPage == haveErrorPage) {
|
||||
window.clearInterval(int);
|
||||
f(iterationsLeft > 0);
|
||||
}
|
||||
}, 100);
|
||||
}, 1000);
|
||||
}
|
||||
|
||||
function windowLoaded()
|
||||
{
|
||||
// The code under here should only be run once
|
||||
// The test popup window workingURL was already opened
|
||||
if (isWindowLoaded)
|
||||
return;
|
||||
isWindowLoaded = true;
|
||||
|
||||
/* 2. We have successfully loaded a page, now go to a faulty URL */
|
||||
// XXX The test fails when we change the location synchronously
|
||||
window.setTimeout(function() {
|
||||
w.location.href = faultyURL;
|
||||
}, 0);
|
||||
|
||||
pollForPage(true, function(succeeded) {
|
||||
ok(succeeded, "Waiting for error page succeeded");
|
||||
/* 3. now, while we are on the error page, navigate back */
|
||||
try {
|
||||
SpecialPowers.wrap(w).back();
|
||||
}
|
||||
catch(ex) {
|
||||
ok(false, "w.back() threw " + ex);
|
||||
}
|
||||
|
||||
pollForPage(false, function(succeeded) {
|
||||
ok(succeeded, "Waiting for original page succeeded");
|
||||
/* 4-finish, check we are back at the original page */
|
||||
isnot(SpecialPowers.wrap(w).location.href, faultyURL, "Is on an error page");
|
||||
is(SpecialPowers.wrap(w).location.href, workingURL, "Is not on the previous page");
|
||||
w.close();
|
||||
SimpleTest.finish();
|
||||
}, w);
|
||||
}, w);
|
||||
}
|
||||
|
||||
function startTest()
|
||||
{
|
||||
/* 1. load a URL that leads to an error page */
|
||||
w = window.open(workingURL);
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body onload="startTest();">
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Add table
Add a link
Reference in a new issue