summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/encrypted-media/drm-expiration.https.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/encrypted-media/drm-expiration.https.html')
-rw-r--r--testing/web-platform/tests/encrypted-media/drm-expiration.https.html67
1 files changed, 67 insertions, 0 deletions
diff --git a/testing/web-platform/tests/encrypted-media/drm-expiration.https.html b/testing/web-platform/tests/encrypted-media/drm-expiration.https.html
new file mode 100644
index 0000000000..7a9993af8d
--- /dev/null
+++ b/testing/web-platform/tests/encrypted-media/drm-expiration.https.html
@@ -0,0 +1,67 @@
+<!doctype html>
+<html>
+ <head>
+ <meta charset=utf-8>
+ <meta name="timeout" content="long">
+ <title>Encrypted Media Extensions: Expiration 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/expiration.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 explicit 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.initDataType && s.content.keys; } );
+ 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,
+ expiration: Date.now().valueOf() + 120000 // Two minutes from now
+ } );
+ } );
+
+ </script>
+ </body>
+</html>