summaryrefslogtreecommitdiffstats
path: root/image/test/crashtests/1676172-1.html
blob: 08374a4772a2a31f5b6d976d9a2656e4321df68d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<html class="reftest-wait">
<head>
<script>
function setup() {
	setTimeout(finish, 1500);
}
function finish() {
	window.stop();
	document.documentElement.className = "";
}
</script>
<style>
	iframe {
		width: 100px;
		height: 100px;
	}
</style>
</head>
<body onload="setup();">
<script>
let numiframes = 30;

const Cc = SpecialPowers.Cc;
const Ci = SpecialPowers.Ci;
let isDebugBuild =
  Cc["@mozilla.org/xpcom/debug;1"].getService(Ci.nsIDebug2).isDebugBuild;
let isMac =
  navigator.appVersion.toLowerCase().includes("mac") ||
  navigator.platform.toLowerCase().includes("mac");

// On some platforms too many animating and reloading gifs means we don't ever
// get enough time to serve paints so that there is never a period of time
// where there are no paints pending, so the reftest harness can't end the
// test. So we limit the number on those platforms, since we only need one
// iframe to reproduce the bug this is okay, more iframes just give more
// chance of reproducing it on any given run.
if (navigator.appVersion.includes("Windows")) {
	numiframes = 16;
}
if (navigator.platform.includes("Linux")) {
	numiframes = 10;
}
if (navigator.appVersion.includes("Android")) {
	numiframes = 2;
}
if (isMac && isDebugBuild) {
	numiframes = 20;
}
for (let i = 0; i < numiframes; i++) {
	let ifr = document.createElement("iframe");
	document.body.appendChild(ifr)
	ifr.src = "1676172-1-iframe.html?" + i;
}
setTimeout(finish, 1500);
</script>
</body>
</html>