mirror of
https://github.com/servo/servo.git
synced 2025-08-11 00:15:32 +01:00
Update web-platform-tests to revision dc5cbf088edcdb266541d4e5a76149a2c6e716a0
This commit is contained in:
parent
1d40075f03
commit
079092dfea
2381 changed files with 90360 additions and 17722 deletions
|
@ -0,0 +1,44 @@
|
|||
// Expect utf8decoder and utf8decoder to be TextEncoder('utf-8') and TextDecoder('utf-8') respectively
|
||||
|
||||
function MessageHandler( keysystem, content ) {
|
||||
this._keysystem = keysystem;
|
||||
this._content = content;
|
||||
this.messagehandler = MessageHandler.prototype.messagehandler.bind( this );
|
||||
this.servercertificate = undefined;
|
||||
}
|
||||
|
||||
MessageHandler.prototype.messagehandler = function messagehandler( messageType, message )
|
||||
{
|
||||
if ( messageType === 'license-request' )
|
||||
{
|
||||
var request = fromUtf8( message );
|
||||
|
||||
var keys = request.kids.map( function( kid ) {
|
||||
|
||||
var key;
|
||||
for( var i=0; i < this._content.keys.length; ++i )
|
||||
{
|
||||
if ( base64urlEncode( this._content.keys[ i ].kid ) === kid )
|
||||
{
|
||||
key = base64urlEncode( this._content.keys[ i ].key );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return { kty: 'oct', kid: kid, k: key };
|
||||
|
||||
}.bind( this ) );
|
||||
|
||||
return Promise.resolve( toUtf8( { keys: keys } ) );
|
||||
}
|
||||
else if ( messageType === 'license-release' )
|
||||
{
|
||||
var release = fromUtf8( message );
|
||||
|
||||
// TODO: Check the license release message here
|
||||
|
||||
return Promise.resolve( toUtf8( { kids: release.kids } ) );
|
||||
}
|
||||
|
||||
throw new TypeError( 'Unsupported message type for ClearKey' );
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue