diff options
Diffstat (limited to 'image/test/crashtests/1676172-1.html')
-rw-r--r-- | image/test/crashtests/1676172-1.html | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/image/test/crashtests/1676172-1.html b/image/test/crashtests/1676172-1.html new file mode 100644 index 0000000000..08374a4772 --- /dev/null +++ b/image/test/crashtests/1676172-1.html @@ -0,0 +1,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> |