tor-browser

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

test_eme_stream_capture_blocked_case1.html (1635B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <head>
      4  <title>Test Encrypted Media Extensions</title>
      5  <script src="/tests/SimpleTest/SimpleTest.js"></script>
      6  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
      7  <script type="text/javascript" src="manifest.js"></script>
      8  <script type="text/javascript" src="eme.js"></script>
      9 </head>
     10 <body>
     11 <pre id="test">
     12 <script class="testbody" type="text/javascript">
     13 var manager = new MediaTestManager;
     14 
     15 function startTest(test, token)
     16 {
     17  // Case 1. setting MediaKeys on an element captured by MediaElementSource should fail.
     18  var case1token = token + "_case1";
     19  let v1 = document.createElement("video");
     20 
     21  function setMediaKeys() {
     22    let p = new EMEPromise;
     23    CreateMediaKeys(v1, test, case1token)
     24    .then(mediaKeys => {
     25      v1.setMediaKeys(mediaKeys)
     26      .then(() => {
     27        p.reject(`${case1token} setMediaKeys shouldn't succeed.`);
     28      }, () => {
     29        ok(true, TimeStamp(case1token) + " setMediaKeys failed as expected.");
     30        p.resolve();
     31      })
     32    }, p.reject);
     33    return p.promise;
     34  }
     35 
     36  var context = new AudioContext();
     37  context.createMediaElementSource(v1);
     38  v1.addEventListener("loadeddata", function() {
     39    ok(false, TimeStamp(case1token) + " should never reach loadeddata, as setMediaKeys should fail");
     40  });
     41 
     42  manager.started(case1token);
     43 
     44  Promise.all([
     45    LoadTest(test, v1, case1token),
     46    setMediaKeys()])
     47  .catch(reason => ok(false, reason))
     48  .then(() => {
     49    CleanUpMedia(v1);
     50    manager.finished(case1token);
     51  });
     52 }
     53 
     54 SimpleTest.waitForExplicitFinish();
     55 manager.runTests(gEMETests, startTest);
     56 </script>
     57 </pre>
     58 </body>
     59 </html>