<!doctype html>
<html>
  <head>
    <meta charset=utf-8>
    <meta name="timeout" content="long">
    <title>Encrypted Media Extensions: Verify MediaKeySession.keyStatuses with multiple sessions, 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/testmediasource.js></script>
    <script src=/encrypted-media/util/utf8.js></script>

    <!-- Content metadata -->
    <script src=/encrypted-media/content/content-metadata.js></script>

    <!-- Message handler for DRM -->
    <script src=/encrypted-media/util/drm-messagehandler.js></script>

    <!-- The script for this specific test -->
    <script src=/encrypted-media/scripts/keystatuses.js></script>

  </head>
  <body>
    <div id='log'></div>

    <script>
        var keysystem = getSupportedKeySystem();
        getSupportedContent( keysystem ).then( function( contents ) {
            // Select a content item with multiple keys and initData that retrieves all keys
            var contentitem = contents.filter( function( item ) {
                return item.keys && item.keys.length > 1 && item.initDataType && item.associatedInitData;
            } )[ 0 ];

            var handler = new MessageHandler( keysystem, contentitem );
            var config = {  keysystem:          keysystem,
                            content:            contentitem,
                            messagehandler:     handler.messagehandler,
                            initDataType:       contentitem.initDataType,
                            initData:           base64DecodeToUnit8Array( getProprietaryInitDatas(contentitem).initDatas[ 0 ] )
                        };

            runTest(config);

        } );
    </script>
  </body>
</html>