| Index: third_party/WebKit/LayoutTests/imported/wpt/encrypted-media/polyfill/firefox-polyfill.js
|
| diff --git a/third_party/WebKit/LayoutTests/imported/wpt/encrypted-media/polyfill/firefox-polyfill.js b/third_party/WebKit/LayoutTests/imported/wpt/encrypted-media/polyfill/firefox-polyfill.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..ce241af362a873af0ba490013790a5be365b9fac
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/imported/wpt/encrypted-media/polyfill/firefox-polyfill.js
|
| @@ -0,0 +1,23 @@
|
| +(function(){
|
| + if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1){
|
| +
|
| + // Work around https://bugzilla.mozilla.org/show_bug.cgi?id=1282142
|
| + // Firefox does not correctly reject the Clear Key session types it does not support
|
| + var _requestMediaKeySystemAccess = navigator.requestMediaKeySystemAccess.bind( navigator );
|
| +
|
| + navigator.requestMediaKeySystemAccess = function( keysystem, configurations )
|
| + {
|
| + if ( keysystem !== 'org.w3.clearkey' ) return _requestMediaKeySystemAccess( keysystem, configurations );
|
| +
|
| + var supported_configurations = configurations.filter( function( c ) {
|
| +
|
| + return !c.sessionTypes || ( c.sessionTypes.length === 1 && c.sessionTypes[ 0 ] === 'temporary' );
|
| +
|
| + } );
|
| +
|
| + if ( supported_configurations.length === 0 ) return Promise.reject( new DOMException( 'None of the requested configurations were supported.' ) );
|
| +
|
| + return _requestMediaKeySystemAccess( keysystem, supported_configurations );
|
| + }
|
| + }
|
| +}());
|
|
|