tor-browser

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

firefox-polyfill.js (1049B)


      1 (function(){
      2    if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1){
      3 
      4        // Work around https://bugzilla.mozilla.org/show_bug.cgi?id=1282142
      5        // Firefox does not correctly reject the Clear Key session types it does not support
      6        var _requestMediaKeySystemAccess = navigator.requestMediaKeySystemAccess.bind( navigator );
      7 
      8        navigator.requestMediaKeySystemAccess = function( keysystem, configurations )
      9        {
     10            if ( keysystem !== 'org.w3.clearkey' ) return _requestMediaKeySystemAccess( keysystem, configurations );
     11 
     12            var supported_configurations = configurations.filter( function( c ) {
     13 
     14                return !c.sessionTypes || ( c.sessionTypes.length === 1 && c.sessionTypes[ 0 ] === 'temporary' );
     15 
     16            } );
     17 
     18            if ( supported_configurations.length === 0 ) return Promise.reject( new DOMException( 'None of the requested configurations were supported.' ) );
     19 
     20            return _requestMediaKeySystemAccess( keysystem, supported_configurations );
     21        }
     22    }
     23 }());