blob: ece798ac87c9df7d76f8a42bce33960f4328edc6 [file] [log] [blame]
<!doctype html>
<html>
<head>
<meta charset=utf-8>
<meta name="timeout" content="long">
<title>Encrypted Media Extensions: Events with DRM</title>
<link rel="help" href="https://w3c.github.io/encrypted-media/">
<!-- Web Platform Test Harness scripts -->
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<!-- Helper scripts for Encrypted Media Extensions tests -->
<script src=/encrypted-media/util/utils.js></script>
<script src=/encrypted-media/util/utf8.js></script>
<script src=/encrypted-media/util/fetch.js></script>
<script src=/encrypted-media/util/testmediasource.js></script>
<!-- Content metadata -->
<script src=/encrypted-media/content/content-metadata.js></script>
<!-- Message handler for DRM servers -->
<script src=/encrypted-media/util/drm-messagehandler.js></script>
<!-- The script for this specific test -->
<script src=/encrypted-media/scripts/events.js></script>
</head>
<body>
<div id='log'></div>
<script>
var keysystem = getSupportedKeySystem();
getSupportedContentAndInitDataTypes( keysystem )
.then( function( supported )
{
// This test requires initData for supported content.
// We prefer explciit initData configured for the content, but
// otherwise we will generate initData for a supported initDataType
// FIXME: Move me to a utility function
var content,
initDataType,
initData;
var contentWithExplicitInitData = supported.filter( function( s ) { return s.content.keys && s.content.initDataType; } );
if ( contentWithExplicitInitData.length > 0 )
{
content = contentWithExplicitInitData[ 0 ].content;
initDataType = content.keys[ 0 ].initDataType;
initData = base64DecodeToUnit8Array( content.keys[ 0 ].initData );
}
else
{
content = supported[ 0 ].content;
initDataType = supported[ 0 ].initDataTypes[ 0 ];
initData = getInitData( content, initDataType );
}
var handler = new MessageHandler( keysystem, content );
runTest( { keysystem: keysystem,
content: content,
messagehandler: handler.messagehandler,
initDataType: initDataType,
initData: initData
} );
} );
</script>
</body>
</html>