summaryrefslogtreecommitdiffstats
path: root/dom/canvas/test/crash
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
commit36d22d82aa202bb199967e9512281e9a53db42c9 (patch)
tree105e8c98ddea1c1e4784a60a5a6410fa416be2de /dom/canvas/test/crash
parentInitial commit. (diff)
downloadfirefox-esr-upstream.tar.xz
firefox-esr-upstream.zip
Adding upstream version 115.7.0esr.upstream/115.7.0esrupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--dom/canvas/test/crash/1251091-1.pngbin0 -> 95370 bytes
-rw-r--r--dom/canvas/test/crash/file_1251091-1.html51
-rw-r--r--dom/canvas/test/crash/file_616401.html8
-rw-r--r--dom/canvas/test/crash/file_798802-1.html18
-rw-r--r--dom/canvas/test/crash/file_bug1233613.html19
-rw-r--r--dom/canvas/test/crash/file_texImage2D.html8
-rw-r--r--dom/canvas/test/crash/mochitest.ini17
-rw-r--r--dom/canvas/test/crash/test_1251091-1.html30
-rw-r--r--dom/canvas/test/crash/test_616401.html30
-rw-r--r--dom/canvas/test/crash/test_798802-1.html30
-rw-r--r--dom/canvas/test/crash/test_bug1233613.html30
-rw-r--r--dom/canvas/test/crash/test_createImageBitmap-video.html34
-rw-r--r--dom/canvas/test/crash/test_texImage2D.html30
13 files changed, 305 insertions, 0 deletions
diff --git a/dom/canvas/test/crash/1251091-1.png b/dom/canvas/test/crash/1251091-1.png
new file mode 100644
index 0000000000..078b19a569
--- /dev/null
+++ b/dom/canvas/test/crash/1251091-1.png
Binary files differ
diff --git a/dom/canvas/test/crash/file_1251091-1.html b/dom/canvas/test/crash/file_1251091-1.html
new file mode 100644
index 0000000000..520a393b43
--- /dev/null
+++ b/dom/canvas/test/crash/file_1251091-1.html
@@ -0,0 +1,51 @@
+<!doctype html>
+<html class="reftest-wait">
+ <head>
+ <script type="text/javascript">
+var gl;
+
+function start() {
+ var canvas = document.getElementById("glcanvas");
+ gl = canvas.getContext("webgl") || canvas.getContext("experimental-webgl");
+
+ if (gl) {
+ initTextures();
+ } else {
+ finish();
+ }
+}
+
+function initTextures() {
+ var cubeTexture = gl.createTexture();
+ var cubeImage = document.getElementById("i");
+ cubeImage.onload = function() { handleTextureLoaded(cubeImage, cubeTexture); }
+ cubeImage.onerror = function() { finish(); }
+ cubeImage.src = "1251091-1.png";
+}
+
+function handleTextureLoaded(image, texture) {
+ gl.bindTexture(gl.TEXTURE_2D, texture);
+ gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR_MIPMAP_NEAREST);
+ gl.generateMipmap(gl.TEXTURE_2D);
+ gl.bindTexture(gl.TEXTURE_2D, null);
+ setTimeout(showit,0);
+}
+
+function showit() {
+ document.getElementById("i").style.display = "";
+ finish();
+}
+
+function finish() {
+ document.documentElement.removeAttribute("class");
+}
+ </script>
+ </head>
+
+ <body onload="start()">
+ <canvas id="glcanvas" width="640" height="480"></canvas>
+ <img id="i" style="display: none;">
+ </body>
+</html> \ No newline at end of file
diff --git a/dom/canvas/test/crash/file_616401.html b/dom/canvas/test/crash/file_616401.html
new file mode 100644
index 0000000000..eb5a0bcf4c
--- /dev/null
+++ b/dom/canvas/test/crash/file_616401.html
@@ -0,0 +1,8 @@
+<!doctype html>
+<script>
+var c = document.createElement("canvas");
+c.getContext("experimental-webgl", {
+ get a() { throw 7; },
+ get b() { throw 8; }
+});
+</script>
diff --git a/dom/canvas/test/crash/file_798802-1.html b/dom/canvas/test/crash/file_798802-1.html
new file mode 100644
index 0000000000..92ab50fd87
--- /dev/null
+++ b/dom/canvas/test/crash/file_798802-1.html
@@ -0,0 +1,18 @@
+<html>
+ <head>
+ <script>
+ onload = function() {
+ var canvas2d = document.createElement('canvas')
+ canvas2d.setAttribute('width', 0)
+ document.body.appendChild(canvas2d)
+ var ctx2d = canvas2d.getContext('2d')
+ ctx2d.fillStyle = 'black'
+ var gl = document.createElement('canvas').getContext('experimental-webgl')
+ gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, canvas2d)
+ ctx2d.fillRect(0, 0, 1, 1)
+ }
+ </script>
+ </head>
+ <body>
+ </body>
+</html>
diff --git a/dom/canvas/test/crash/file_bug1233613.html b/dom/canvas/test/crash/file_bug1233613.html
new file mode 100644
index 0000000000..d949c3b21c
--- /dev/null
+++ b/dom/canvas/test/crash/file_bug1233613.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<iframe style="display:none" srcdoc="
+
+<html>
+<head>
+<script type='text/javascript'>
+function boom() {
+ var gl = canvas.getContext('experimental-webgl');
+ video.srcObject = canvas.captureStream(0);
+}
+</script>
+</head>
+<body onload='boom();'>
+ <video id='video' width='256' height='256'></video>
+ <canvas id='canvas' width='256' height='256'></canvas>
+</body>
+</html>
+
+"></iframe>
diff --git a/dom/canvas/test/crash/file_texImage2D.html b/dom/canvas/test/crash/file_texImage2D.html
new file mode 100644
index 0000000000..370b008572
--- /dev/null
+++ b/dom/canvas/test/crash/file_texImage2D.html
@@ -0,0 +1,8 @@
+<!doctype html>
+<canvas></canvas>
+<script>
+var canvas = document.body.firstChild,
+ gl = canvas.getContext("experimental-webgl");
+gl.texImage2D(0, 0, 0, 0, 0, { get width() { throw 7 }, get height() { throw 7 }, data: new Uint8ClampedArray(10) });
+gl.texSubImage2D(0, 0, 0, 0, 0, 0, { get width() { throw 7 }, get height() { throw 7 }, data: new Uint8ClampedArray(10) });
+</script>
diff --git a/dom/canvas/test/crash/mochitest.ini b/dom/canvas/test/crash/mochitest.ini
new file mode 100644
index 0000000000..c9cdcc0e14
--- /dev/null
+++ b/dom/canvas/test/crash/mochitest.ini
@@ -0,0 +1,17 @@
+[DEFAULT]
+subsuite = webgl1-core
+support-files =
+ file_bug1233613.html
+ file_texImage2D.html
+ file_616401.html
+ file_798802-1.html
+ file_1251091-1.html
+ 1251091-1.png
+
+[test_bug1233613.html]
+[test_texImage2D.html]
+[test_616401.html]
+[test_798802-1.html]
+[test_1251091-1.html]
+[test_createImageBitmap-video.html]
+skip-if = win10_2004 && debug # Bug 1715832
diff --git a/dom/canvas/test/crash/test_1251091-1.html b/dom/canvas/test/crash/test_1251091-1.html
new file mode 100644
index 0000000000..78b699961b
--- /dev/null
+++ b/dom/canvas/test/crash/test_1251091-1.html
@@ -0,0 +1,30 @@
+<!DOCTYPE HTML>
+<html>
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=1251091
+-->
+<head>
+ <title>Test for webgl crashing</title>
+ <script src="/tests/SimpleTest/SimpleTest.js"></script>
+ <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
+</head>
+<body>
+
+<body>
+ <script class="testbody" type="application/javascript">
+ SimpleTest.waitForExplicitFinish();
+ ok(true, "expecting an exception, not a crash");
+
+ var iframe = document.getElementById('iframe1');
+ try {
+ iframe.src = 'file_1251091-1.html';
+ ok(false, 'loaded the iframe and we did not see a crash, perfect!');
+ } catch (e) {
+ ok(true, "caught exception in loading the iframe");
+ }
+ SimpleTest.finish();
+
+ </script>
+ <iframe id="iframe1" src="" width="600" height="600"></iframe>
+</body>
+</html>
diff --git a/dom/canvas/test/crash/test_616401.html b/dom/canvas/test/crash/test_616401.html
new file mode 100644
index 0000000000..71c77c1b4a
--- /dev/null
+++ b/dom/canvas/test/crash/test_616401.html
@@ -0,0 +1,30 @@
+<!DOCTYPE HTML>
+<html>
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=616401
+-->
+<head>
+ <title>Test for webgl crashing</title>
+ <script src="/tests/SimpleTest/SimpleTest.js"></script>
+ <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
+</head>
+<body>
+
+<body>
+ <script class="testbody" type="application/javascript">
+ SimpleTest.waitForExplicitFinish();
+ ok(true, "expecting an exception, not a crash");
+
+ var iframe = document.getElementById('iframe1');
+ try {
+ iframe.src = 'file_616401.html';
+ ok(false, 'loaded the iframe and we did not see a crash, perfect!');
+ } catch (e) {
+ ok(true, "caught exception in loading the iframe");
+ }
+ SimpleTest.finish();
+
+ </script>
+ <iframe id="iframe1" src="" width="600" height="600"></iframe>
+</body>
+</html>
diff --git a/dom/canvas/test/crash/test_798802-1.html b/dom/canvas/test/crash/test_798802-1.html
new file mode 100644
index 0000000000..6a68f69f37
--- /dev/null
+++ b/dom/canvas/test/crash/test_798802-1.html
@@ -0,0 +1,30 @@
+<!DOCTYPE HTML>
+<html>
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=798802
+-->
+<head>
+ <title>Test for webgl crashing</title>
+ <script src="/tests/SimpleTest/SimpleTest.js"></script>
+ <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
+</head>
+<body>
+
+<body>
+ <script class="testbody" type="application/javascript">
+ SimpleTest.waitForExplicitFinish();
+ ok(true, "expecting an exception, not a crash");
+
+ var iframe = document.getElementById('iframe1');
+ try {
+ iframe.src = 'file_798802-1.html';
+ ok(false, 'loaded the iframe and we did not see a crash, perfect!');
+ } catch (e) {
+ ok(true, "caught exception in loading the iframe");
+ }
+ SimpleTest.finish();
+
+ </script>
+ <iframe id="iframe1" src="" width="600" height="600"></iframe>
+</body>
+</html>
diff --git a/dom/canvas/test/crash/test_bug1233613.html b/dom/canvas/test/crash/test_bug1233613.html
new file mode 100644
index 0000000000..6e61a77c9f
--- /dev/null
+++ b/dom/canvas/test/crash/test_bug1233613.html
@@ -0,0 +1,30 @@
+<!DOCTYPE HTML>
+<html>
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=1233613
+-->
+<head>
+ <title>Test for webgl crashing</title>
+ <script src="/tests/SimpleTest/SimpleTest.js"></script>
+ <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
+</head>
+<body>
+
+<body>
+ <script class="testbody" type="application/javascript">
+ SimpleTest.waitForExplicitFinish();
+ ok(true, "expecting an exception, not a crash");
+
+ var iframe = document.getElementById('iframe1');
+ try {
+ iframe.src = 'file_bug1233613.html';
+ ok(false, 'loaded the iframe and we did not see a crash, perfect!');
+ } catch (e) {
+ ok(true, "caught exception in boom");
+ }
+ SimpleTest.finish();
+
+ </script>
+ <iframe id="iframe1" src="" width="600" height="600"></iframe>
+</body>
+</html>
diff --git a/dom/canvas/test/crash/test_createImageBitmap-video.html b/dom/canvas/test/crash/test_createImageBitmap-video.html
new file mode 100644
index 0000000000..0861a961a4
--- /dev/null
+++ b/dom/canvas/test/crash/test_createImageBitmap-video.html
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML>
+<html>
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=1309838
+-->
+<head>
+ <title>Test for canvas crashing</title>
+ <script src="/tests/SimpleTest/SimpleTest.js"></script>
+ <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
+</head>
+<body>
+
+<body>
+ <script class="testbody" type="application/javascript">
+ SimpleTest.waitForExplicitFinish();
+
+ var v = document.createElement("video");
+ document.body.appendChild(v);
+ v.src ="data:video/ogg;base64,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";
+ v.addEventListener("playing", function() {
+ var x = createImageBitmap(v);
+ x.then(function() {
+ ok(false, "Can't have an image bitmap for this video.");
+ }, function() {
+ ok(true, "Yay, rejected but no crash!");
+ }).then(function() {
+ SimpleTest.finish();
+ });
+ });
+ v.play();
+ </script>
+</body>
+</html>
+
diff --git a/dom/canvas/test/crash/test_texImage2D.html b/dom/canvas/test/crash/test_texImage2D.html
new file mode 100644
index 0000000000..e68bdfefe2
--- /dev/null
+++ b/dom/canvas/test/crash/test_texImage2D.html
@@ -0,0 +1,30 @@
+<!DOCTYPE HTML>
+<html>
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=??
+-->
+<head>
+ <title>Test for webgl crashing</title>
+ <script src="/tests/SimpleTest/SimpleTest.js"></script>
+ <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
+</head>
+<body>
+
+<body>
+ <script class="testbody" type="application/javascript">
+ SimpleTest.waitForExplicitFinish();
+ ok(true, "expecting an exception, not a crash");
+
+ var iframe = document.getElementById('iframe1');
+ try {
+ iframe.src = 'file_texImage2D.html';
+ ok(false, 'loaded the iframe and we did not see a crash, perfect!');
+ } catch (e) {
+ ok(true, "caught exception in loading the iframe");
+ }
+ SimpleTest.finish();
+
+ </script>
+ <iframe id="iframe1" src="" width="600" height="600"></iframe>
+</body>
+</html>