Revision de277f72555a8613d1d38a9a6df270d16621ac89 authored by Chris Nardi on 29 March 2018, 23:23:28 UTC, committed by Chris Nardi on 29 March 2018, 23:23:28 UTC
Many spec links were in shortlink form (e.g. https://drafts.csswg.org/cssom/ instead of https://drafts.csswg.org/cssom-1/). However, build.py did not pick up these spec links, as it assumed that the only spec links could be in longhand form with the spec version. Update build.py to consider shortlinks when building.
1 parent 7991f4b
Raw File
mediasource-appendbuffer-quota-exceeded.html
<!DOCTYPE html>
<!-- Copyright © 2016 Chromium authors and World Wide Web Consortium, (Massachusetts Institute of Technology, ERCIM, Keio University, Beihang). -->
<meta charset="utf-8">
<meta name="timeout" content="long">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="mediasource-util.js"></script>
<script>
    var subType = MediaSourceUtil.getSubType(MediaSourceUtil.AUDIO_ONLY_TYPE);
    var manifestFilenameAudio = subType + "/test-a-128k-44100Hz-1ch-manifest.json";

    // Fill up a given SourceBuffer by appending data repeatedly via doAppendDataFunc until
    // an exception is thrown. The thrown exception is passed to onCaughtExceptionCallback.
    function fillUpSourceBuffer(test, sourceBuffer, doAppendDataFunc, onCaughtExceptionCallback) {
        // We are appending data repeatedly in sequence mode, there should be no gaps.
        assert_false(sourceBuffer.buffered.length > 1, "unexpected gap in buffered ranges.");
        try {
            doAppendDataFunc();
        } catch(ex) {
            onCaughtExceptionCallback(ex);
        }
        test.expectEvent(sourceBuffer, 'updateend', 'append ended.');
        test.waitForExpectedEvents(function() { fillUpSourceBuffer(test, sourceBuffer, doAppendDataFunc, onCaughtExceptionCallback); });
    }

    mediasource_test(function(test, mediaElement, mediaSource)
    {
        mediaElement.addEventListener("error", test.unreached_func("Unexpected event 'error'"));
        MediaSourceUtil.fetchManifestAndData(test, manifestFilenameAudio, function(typeAudio, dataAudio)
        {
            var sourceBuffer = mediaSource.addSourceBuffer(typeAudio);
            sourceBuffer.mode = 'sequence';
            fillUpSourceBuffer(test, sourceBuffer,
                function () { // doAppendDataFunc
                    sourceBuffer.appendBuffer(dataAudio);
                },
                function (ex) { // onCaughtExceptionCallback
                    assert_equals(ex.name, 'QuotaExceededError');
                    test.done();
                });
        });
    }, 'Appending data repeatedly should fill up the buffer and throw a QuotaExceededError when buffer is full.');
</script>
back to top