diff options
Diffstat (limited to '')
-rw-r--r-- | dom/tests/mochitest/geolocation/test_manyWindows.html | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/dom/tests/mochitest/geolocation/test_manyWindows.html b/dom/tests/mochitest/geolocation/test_manyWindows.html new file mode 100644 index 0000000000..5e6e74c61f --- /dev/null +++ b/dom/tests/mochitest/geolocation/test_manyWindows.html @@ -0,0 +1,67 @@ +<!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> |