summaryrefslogtreecommitdiffstats
path: root/image/test/crashtests/1634839-2.html
diff options
context:
space:
mode:
Diffstat (limited to 'image/test/crashtests/1634839-2.html')
-rw-r--r--image/test/crashtests/1634839-2.html51
1 files changed, 51 insertions, 0 deletions
diff --git a/image/test/crashtests/1634839-2.html b/image/test/crashtests/1634839-2.html
new file mode 100644
index 0000000000..d3629421fb
--- /dev/null
+++ b/image/test/crashtests/1634839-2.html
@@ -0,0 +1,51 @@
+<!DOCTYPE HTML>
+<html class="reftest-wait">
+<head>
+</head>
+<body>
+<div id="container">
+ <iframe id='if' src="1634839-2-iframe.html"></iframe>
+</div>
+
+<script>
+let iterationsLeft = 1;
+
+let img = null;
+
+function runTest() {
+ // Make sure the image is decoded and advanced to it's final frame.
+ img = document.getElementById("if").contentWindow.document.getElementById("image1");
+ img.decode().then(function() {
+ setTimeout(forceDiscard, 1000);
+ });
+}
+
+function showIframe() {
+ document.getElementById("container").style.display = "";
+ document.documentElement.getBoundingClientRect();
+ requestAnimationFrame(forceDecode);
+}
+
+function forceDecode() {
+ img.decode().then(function() {
+ setTimeout(forceDiscard, 0);
+ });
+}
+
+function forceDiscard() {
+ iterationsLeft--;
+ if (iterationsLeft < 0) {
+ document.documentElement.className = "";
+ return;
+ }
+ document.getElementById("container").style.display = "none";
+ document.documentElement.getBoundingClientRect();
+ img.remove();
+ requestAnimationFrame(() => { requestAnimationFrame( () => { setTimeout(showIframe, 0); } ) });
+}
+
+//window.addEventListener("load", runTest);
+window.addEventListener("MozReftestInvalidate", runTest);
+</script>
+</body>
+</html>