<!DOCTYPE HTML>
<html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=478911
-->
<head>
  <title>Test for many windows </title>
  <script src="/tests/SimpleTest/SimpleTest.js"></script>
  <script type="text/javascript" src="geolocation_common.js"></script>

<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
</head>
<body>
<a target="_blank"
href="https://bugzilla.mozilla.org/show_bug.cgi?id=478911">Crash in Multiple Windows</a>
<p id="display"></p>
<div id="content" style="display: none">
  
</div>
<pre id="test">
<script class="testbody" type="text/javascript">

// ensure we are using the right testing provider
resume_geolocationProvider(function() {
  force_prompt(true, test1);
});

/** Test for Bug  **/

var numberOfWindows = 5;  // 20 seems to be the default max popups during the mochitest run
var loadedWindows = 0;

var windows = new Array(numberOfWindows);

addEventListener("message", function() {
  ++loadedWindows;
  if (loadedWindows == numberOfWindows) {
    SimpleTest.executeSoon(closeWindows);
  }
}, false);

function test1() {
  for(var i = 0; i < numberOfWindows; i++) {
    windows[i] = window.open("geolocation.html", "_blank", "width=700,height=400");
  }
}

function closeWindows()
{
  for(var i = 0; i < numberOfWindows; i++) {
    windows[i].close();
  }
  SimpleTest.waitForFocus(done);
}

SimpleTest.waitForExplicitFinish();

function done()
{
  ok(navigator.geolocation, "Opened a bunch of windows and didn't crash.");
  SimpleTest.finish();
}

</script>
</pre>
</body>
</html>
