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>