| <!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/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/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> |