tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

idlharness.https.any.js (1902B)


      1 // META: global=window,dedicatedworker
      2 // META: script=/resources/WebIDLParser.js
      3 // META: script=/resources/idlharness.js
      4 // META: script=./utils.js
      5 // META: timeout=long
      6 
      7 'use strict';
      8 
      9 var defaultCodecInit = {
     10  output: function() {
     11    assert_unreached("unexpected output");
     12  },
     13  error: function() {
     14    assert_unreached("unexpected error");
     15  },
     16 }
     17 
     18 var defaultAudioChunkInit = {
     19  type: 'key',
     20  timestamp: 1234,
     21  duration: 9876,
     22  data: new Uint8Array([5, 6, 7, 8])
     23 };
     24 
     25 var defaultVideoChunkInit = {
     26  type: 'key',
     27  timestamp: 1234,
     28  duration: 5678,
     29  data: new Uint8Array([9, 10, 11, 12])
     30 };
     31 
     32 idl_test(['webcodecs'], ['dom', 'html', 'webidl'], async idlArray => {
     33  self.imageBody =
     34      await fetch('four-colors.png').then(response => response.arrayBuffer());
     35 
     36  let decoder = new ImageDecoder({data: self.imageBody, type: 'image/png'});
     37  await decoder.tracks.ready;
     38  self.imageTracks = decoder.tracks.selectedTrack;
     39 
     40  idlArray.add_objects({
     41    AudioDecoder: [`new AudioDecoder(defaultCodecInit)`],
     42    VideoDecoder: [`new VideoDecoder(defaultCodecInit)`],
     43    AudioEncoder: [`new AudioEncoder(defaultCodecInit)`],
     44    VideoEncoder: [`new VideoEncoder(defaultCodecInit)`],
     45    EncodedAudioChunk: [`new EncodedAudioChunk(defaultAudioChunkInit)`],
     46    EncodedVideoChunk: [`new EncodedVideoChunk(defaultVideoChunkInit)`],
     47    AudioData: [`make_audio_data(1234, 2, 8000, 100)`],
     48    VideoFrame: [
     49      `new VideoFrame(makeImageBitmap(32, 16), {timestamp: 100, duration: 33})`
     50    ],
     51    VideoColorSpace: [
     52      `new VideoColorSpace()`,
     53      `new VideoColorSpace({primaries: 'bt709', transfer: 'bt709', matrix: 'bt709', fullRange: true})`,
     54    ],
     55    ImageDecoder:
     56        [`new ImageDecoder({data: self.imageBody, type: 'image/png'})`],
     57    ImageTrackList:
     58        [`new ImageDecoder({data: self.imageBody, type: 'image/png'}).tracks`],
     59    ImageTrack: [`self.imageTracks`],
     60  });
     61 });