tor-browser

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

not-callable-after-createsession.js (2288B)


      1 function runTest(config,qualifier) {
      2    // After creation, the MediaKeySession object is not
      3    // callable, and we should get a InvalidStateError.
      4 
      5    promise_test(function()
      6    {
      7        return navigator.requestMediaKeySystemAccess(config.keysystem, getSimpleConfiguration()).then(function(access) {
      8            return access.createMediaKeys();
      9        }).then(function(mediaKeys) {
     10            var mediaKeySession = mediaKeys.createSession();
     11 
     12            var arbitraryResponse = new Uint8Array([0x00, 0x11]);
     13            return mediaKeySession.update(arbitraryResponse).then(function(result) {
     14                assert_unreached('update() succeeded unexpectedly.');
     15            }).catch(function(error) {
     16                assert_equals(error.name, 'InvalidStateError');
     17            });
     18        });
     19    }, testnamePrefix( qualifier, config.keysystem ) + ', temporary, update() immediately after createSession()');
     20 
     21    promise_test(function()
     22    {
     23        return navigator.requestMediaKeySystemAccess(config.keysystem, getSimpleConfiguration()).then(function(access) {
     24            return access.createMediaKeys();
     25        }).then(function(mediaKeys) {
     26            var mediaKeySession = mediaKeys.createSession();
     27 
     28            return mediaKeySession.close().then(function(result) {
     29                assert_unreached('close() succeeded unexpectedly.');
     30            }).catch(function(error) {
     31                assert_equals(error.name, 'InvalidStateError');
     32            });
     33        });
     34    }, testnamePrefix( qualifier, config.keysystem ) + ', temporary, close() immediately after createSession()');
     35 
     36    promise_test(function()
     37    {
     38        return navigator.requestMediaKeySystemAccess(config.keysystem, getSimpleConfiguration()).then(function(access) {
     39            return access.createMediaKeys();
     40        }).then(function(mediaKeys) {
     41            var mediaKeySession = mediaKeys.createSession();
     42 
     43            return mediaKeySession.remove().then(function(result) {
     44                assert_unreached('remove() succeeded unexpectedly.');
     45            }).catch(function(error) {
     46                assert_equals(error.name, 'InvalidStateError');
     47            });
     48        });
     49    }, testnamePrefix( qualifier, config.keysystem ) + ', temporary, remove() immediately after createSession()');
     50 }