tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test_video_to_canvas.html (1686B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <!--
      4 https://bugzilla.mozilla.org/show_bug.cgi?id=486646
      5 -->
      6 
      7 <head>
      8  <title>Test for Bug 486646</title>
      9  <script src="/tests/SimpleTest/SimpleTest.js"></script>
     10  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
     11  <script type="text/javascript" src="manifest.js"></script>
     12 </head>
     13 <body>
     14 <script class="testbody" type="text/javascript">
     15 
     16 var manager = new MediaTestManager;
     17 
     18 function loaded(e) {
     19  var v = e.target;
     20  ok(v.readyState >= v.HAVE_CURRENT_DATA,
     21     "readyState must be >= HAVE_CURRENT_DATA for " + v._name);
     22 
     23  var canvas = document.createElement("canvas");
     24  canvas.width = v.videoWidth;
     25  canvas.height = v.videoHeight;
     26  document.body.appendChild(canvas);
     27  var ctx = canvas.getContext("2d");
     28  try {
     29    ctx.drawImage(v, 0, 0);
     30    ok(true, "Shouldn't throw exception while drawing to canvas from video for " + v._name);
     31  } catch (ex) {
     32    ok(false, "Shouldn't throw exception while drawing to canvas from video for " + v._name);
     33  }
     34 
     35  v._finished = true;
     36  v.remove();
     37  manager.finished(v.token);
     38 }
     39 
     40 function startTest(test, token) {
     41  var type = getMajorMimeType(test.type);
     42  if (type != "video")
     43    return;
     44  
     45  var v = document.createElement('video');
     46  v.token = token;
     47  manager.started(token);
     48  v.src = test.name;
     49  v._name = test.name;
     50  v._finished = false;
     51  v.autoplay = true;
     52  v.style.display = "none";
     53  v.addEventListener("ended", loaded);
     54  document.body.appendChild(v);
     55 }
     56 
     57 SimpleTest.waitForExplicitFinish();
     58 SpecialPowers.pushPrefEnv({"set": [["media.cache_size", 40000]]}, beginTest);
     59 function beginTest() {
     60  manager.runTests(gSmallTests, startTest);
     61 }
     62 
     63 </script>
     64 </pre>
     65 
     66 </body>
     67 </html>