Revision 1dcdb61cb2eb054e6d16733d4eb4a6b56793b598 authored by Kenichi Ishibashi on 12 April 2018, 07:12:22 UTC, committed by Blink WPT Bot on 12 April 2018, 07:31:12 UTC
Before this CL, the test expected that preloadResponse is
rejected when decoding a chunked body is failed. However preloadResponse
is supposed to be resolved once the headers are arrived. It should be
resolved instead of rejected. Update the test to expect that
preloadResponse is resolved even for broken chunked body.

With S13nSW enabled, this test will start passing but it wouldn't
pass w/o S13nSW.

This CL also adds a test case where broken chunked body is transfered
with delays.

Bug: 830472
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo
Change-Id: Ibc2909dfc4537f209417a13cff63898ad39229a7
Reviewed-on: https://chromium-review.googlesource.com/1004562
Commit-Queue: Kenichi Ishibashi <bashi@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550061}
1 parent 0060eb4
Raw File
drm-events.https.html
<!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/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/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>
back to top