summaryrefslogtreecommitdiffstats
path: root/dom/media/test/test_video_to_canvas.html
diff options
context:
space:
mode:
Diffstat (limited to 'dom/media/test/test_video_to_canvas.html')
-rw-r--r--dom/media/test/test_video_to_canvas.html68
1 files changed, 68 insertions, 0 deletions
diff --git a/dom/media/test/test_video_to_canvas.html b/dom/media/test/test_video_to_canvas.html
new file mode 100644
index 000000000..b4a9f3752
--- /dev/null
+++ b/dom/media/test/test_video_to_canvas.html
@@ -0,0 +1,68 @@
+<!DOCTYPE HTML>
+<html>
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=486646
+-->
+
+<head>
+ <title>Test for Bug 486646</title>
+ <script type="text/javascript" src="/MochiKit/MochiKit.js"></script>
+ <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
+ <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
+ <script type="text/javascript" src="manifest.js"></script>
+</head>
+<body>
+<script class="testbody" type="text/javascript">
+
+var manager = new MediaTestManager;
+
+function loaded(e) {
+ var v = e.target;
+ ok(v.readyState >= v.HAVE_CURRENT_DATA,
+ "readyState must be >= HAVE_CURRENT_DATA for " + v._name);
+
+ var canvas = document.createElement("canvas");
+ canvas.width = v.videoWidth;
+ canvas.height = v.videoHeight;
+ document.body.appendChild(canvas);
+ var ctx = canvas.getContext("2d");
+ try {
+ ctx.drawImage(v, 0, 0);
+ ok(true, "Shouldn't throw exception while drawing to canvas from video for " + v._name);
+ } catch (ex) {
+ ok(false, "Shouldn't throw exception while drawing to canvas from video for " + v._name);
+ }
+
+ v._finished = true;
+ v.parentNode.removeChild(v);
+ manager.finished(v.token);
+}
+
+function startTest(test, token) {
+ var type = getMajorMimeType(test.type);
+ if (type != "video")
+ return;
+
+ var v = document.createElement('video');
+ v.token = token;
+ manager.started(token);
+ v.src = test.name;
+ v._name = test.name;
+ v._finished = false;
+ v.autoplay = true;
+ v.style.display = "none";
+ v.addEventListener("ended", loaded, false);
+ document.body.appendChild(v);
+}
+
+SimpleTest.waitForExplicitFinish();
+SpecialPowers.pushPrefEnv({"set": [["media.cache_size", 40000]]}, beginTest);
+function beginTest() {
+ manager.runTests(gSmallTests, startTest);
+}
+
+</script>
+</pre>
+
+</body>
+</html>