DXR is a code search and navigation tool aimed at making sense of large projects. It supports full-text and regex searches as well as structural queries.

Mercurial (c68fe15a81fc)

VCS Links

Line Code
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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/mediacapture-image/resources/imagecapture-helpers.js"></script>
<script src="/mediacapture-image/resources/imagecapture-helpers.js"></script>
<body>
<canvas id='canvas' width=10 height=10/>
</body>
<script>


let canvas = document.getElementById('canvas');
let context = canvas.getContext('2d');
context.fillStyle = 'red';
context.fillRect(0, 0, 10, 10);


// This test verifies that ImageCapture.takePhoto() rejects if any passed
// option is unsupported or outside its allowed range.
function makePromiseTest(getOption) {
  image_capture_test(async (t, imageCaptureTest) => {
    imageCaptureTest.mockImageCapture().state().redEyeReduction = 0;

    let stream = canvas.captureStream();
    let stream = canvas.captureStream();
    let capturer = new ImageCapture(stream.getVideoTracks()[0]);
    await capturer.getPhotoCapabilities();
    const options = getOption(imageCaptureTest.mockImageCapture().state());

    try {
    try {
      await capturer.takePhoto(options);
      assert_unreached('expected takePhoto to reject');
    } catch (error) {
    } catch (error) {
      assert_equals(error.name, 'NotSupportedError');
    }
  });
}


const optionsGenerators = [
  capabilities => ({ redEyeReduction: true }),
  capabilities => ({ imageHeight: capabilities.height.max + 1 }),
  capabilities => ({ imageHeight: capabilities.height.min - 1 }),
  capabilities => ({ imageWidth: capabilities.width.max + 1 }),
  capabilities => ({ imageWidth: capabilities.width.max + 1 }),
  capabilities => ({ imageWidth: capabilities.width.min - 1 }),
  capabilities => ({ fillLightMode: 'off' }),
];

for (key in optionsGenerators) {
for (key in optionsGenerators) {
  generate_tests(
      makePromiseTest,
      [[ 'ImageCapture.takePhoto(options) rejects with bad options, #' + key,
         optionsGenerators[key] ]]);
         optionsGenerators[key] ]]);
}

</script>