dom/tests/mochitest/geolocation/test_manyWindows.html
author Nils Maier <maierman@web.de>
Wed, 28 Nov 2012 13:13:13 -0500
changeset 114378 0e5ca55005ae8ef9002ac12472740104fb79fd47
parent 74346 95496a360748609134a5c666d57c7f48aa23393e
child 144504 123f1ac63a62c01bfc39fd112ba0f4bb817bffa6
permissions -rw-r--r--
Bug 719180: Part 2 - Add jar channel unit tests; r=taras

<!DOCTYPE HTML>
<html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=478911
-->
<head>
  <title>Test for many windows </title>
  <script type="text/javascript" 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();
force_prompt(true);

/** 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);

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.");
  reset_prompt();
  SimpleTest.finish();
}

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