tor-browser

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

MediaStreamTrack-getConstraints.https.html (2432B)


      1 <!DOCTYPE html>
      2 <script src="/resources/testharness.js"></script>
      3 <script src="/resources/testharnessreport.js"></script>
      4 <script src="/resources/testdriver.js"></script>
      5 <script src="/resources/testdriver-vendor.js"></script>
      6 <script src="/mediacapture-image/resources/imagecapture-helpers.js"></script>
      7 <script>
      8 
      9 const constraints = { whiteBalanceMode     : "single-shot",
     10                      exposureMode         : "manual",
     11                      focusMode            : "single-shot",
     12 
     13                      exposureCompensation : 133.77,
     14                      exposureTime         : 10000, // in nano-seconds.
     15                      colorTemperature     : 6000,
     16                      iso                  : 120.0,
     17 
     18                      brightness           : 3,
     19                      contrast             : 4,
     20                      saturation           : 5,
     21                      sharpness            : 6,
     22                      focusDistance        : 7,
     23 
     24                      pan                  : 8,
     25                      tilt                 : 9,
     26                      zoom                 : 3.141592
     27                      // TODO: torch https://crbug.com/700607.
     28                    };
     29 
     30 // These tests verify that MediaStreamTrack.getConstraints() exists and that,
     31 // returns the constraints passed beforehand with applyConstraints.
     32 function makePromiseTest(constraint) {
     33  image_capture_test(async function(t) {
     34    await test_driver.set_permission({name: 'camera', panTiltZoom: true},
     35        'granted');
     36 
     37    let stream = await navigator.mediaDevices.getUserMedia({video: true});
     38    let videoTrack = stream.getVideoTracks()[0];
     39 
     40    let constraintsIn = {advanced : [ constraint ]};
     41    await videoTrack.applyConstraints(constraintsIn);
     42    assert_object_equals(videoTrack.getConstraints(), constraintsIn, "constraints");
     43 
     44    // Clear constraints by sending an empty constraint set.
     45    await videoTrack.applyConstraints({});
     46    assert_object_equals(videoTrack.getConstraints(), {}, "constraints");
     47  });
     48 };
     49 
     50 // Send each line of |constraints| in turn and then the whole dictionary.
     51 for (key in constraints) {
     52  let one_constraint = {};
     53  one_constraint[key] = constraints[key];
     54  generate_tests(
     55      makePromiseTest,
     56      [[ 'MediaStreamTrack.getConstraints(), key: ' + key, one_constraint ]]);
     57 }
     58 
     59 generate_tests(makePromiseTest, [
     60  ["MediaStreamTrack.getConstraints(), complete ", constraints],
     61 ]);
     62 
     63 </script>