diff options
Diffstat (limited to 'testing/web-platform/tests/encrypted-media/drm-events.https.html')
-rw-r--r-- | testing/web-platform/tests/encrypted-media/drm-events.https.html | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/testing/web-platform/tests/encrypted-media/drm-events.https.html b/testing/web-platform/tests/encrypted-media/drm-events.https.html new file mode 100644 index 0000000000..5dd2ed774d --- /dev/null +++ b/testing/web-platform/tests/encrypted-media/drm-events.https.html @@ -0,0 +1,71 @@ +<!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/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> |