summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/encrypted-media/scripts/check-initdata-type.js
blob: 5c7cb6e4b9a427d4f15364027724e13ba836d89e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
 function runTest( config, qualifier )
 {
    function checkInitDataType(initDataType)
    {
        return isInitDataTypeSupported(initDataType).then(function(result) {
            // If |initDataType| is not supported, simply succeed.
            if (!result)
                return Promise.resolve('Not supported');

            return navigator.requestMediaKeySystemAccess( config.keysystem, getSimpleConfigurationForInitDataType(initDataType))
                .then(function(access) {
                    return access.createMediaKeys();
                }).then(function(mediaKeys) {
                    var mediaKeySession = mediaKeys.createSession();
                    var initData = getInitData(initDataType);
                    return mediaKeySession.generateRequest(initDataType, initData);
                });
        });
    }

    promise_test(function()
    {
        return checkInitDataType('webm');
    }, testnamePrefix( qualifier, config.keysystem )  + ' support for "webm".');

    promise_test(function()
    {
        return checkInitDataType('cenc');
    }, testnamePrefix( qualifier, config.keysystem ) + ' support for "cenc".');

    promise_test(function()
    {
        return checkInitDataType('keyids');
    }, testnamePrefix( qualifier, config.keysystem ) + ' support for "keyids".');
}