<html>
<head>
<title>initial title</title>
<script>
var popup, popup2, popup3, popup4;
function WindowOpen(file, name, attr) {
// Force windows to open in a new process. See https://crbug.com/153363.
var url = 'http://example.com:' + location.port + '/' + file;
var w = window.open('', name, attr);
w.opener = null;
w.location.href = url;
return w;
}
// window.open, window.close should be synchronous
function test1() {
popup = WindowOpen('title1.html', 'name');
popup.close();
popup = WindowOpen('title2.html', 'name', 'width=200,height=200');
popup.close();
document.location = 'title2.html'
}
// Try opening/closing a few windows.
function test2() {
openPopups();
closePopups();
document.location = 'title2.html'
}
function test3() {
openPopups();
setTimeout(closePopups, 0);
setTimeout(test4, 1);
}
function test4() {
openPopups();
setTimeout(closePopupsAndDone, 250);
}
function openPopups() {
popup = WindowOpen('title1.html', 'name');
popup2 = WindowOpen('title1.html', 'name2');
popup3 = WindowOpen('title1.html', 'name3');
popup4 = WindowOpen('title1.html', 'name4');
}
function closePopups() {
popup.close();
popup2.close();
popup3.close();
popup4.close();
}
function closePopupsAndDone() {
closePopups();
document.location = 'title2.html'
}
function startTheTest() {
if (location.search == "?test1")
test1();
else if (location.search == "?test2")
test2();
else if (location.search == "?test3")
test3();
}
</script>
</head>
<body onload="setTimeout(startTheTest, 0);">
</body>
</html>