On https://github.com/mozilla/pdf.js/wiki/Required-Browser-Features we mention required browser features for PDF.js, but I have the feeling that not all of them are necessary nowadays since we moved to using more modern features over the years. Moreover, as indicated in https://github.com/mozilla/pdf.js/issues/11950#issuecomment-637149085, some features may be missing such as range requests or `async/await`.

In short, we should verify which are still necessary and update the wiki page and the automated feature detection if possible.
return fail;
      }
      
      
      ctx.fillStyle = 'red';
      ctx.fillRect(0, 0, 1, 1);
      ctx.fillStyle = 'blue';
      ctx.fillRect(0, 0, 1, 1);
      var pix = ctx.getImageData(0, 0, 1, 1).data;
      if (pix[0] !== 255 || pix[1] !== 0 || pix[2] !== 255) {
        return fail;
      }
      return { output: 'Success', emulated: '' };
    },
    impact: 'Important',
    area: 'Core'
  }
];
function checkCanvas(font) {
  var canvas = document.createElement('canvas');
  var canvasHolder = document.getElementById('canvasHolder');
  canvasHolder.appendChild(canvas);
  var ctx = canvas.getContext('2d');
  ctx.font = '40px \'' + font + '\'';
  ctx.fillText('\u0060', 0, 40);
  var data = ctx.getImageData(0, 0, 40, 40).data;
  canvasHolder.removeChild(canvas);
  
  var minx = 40, maxx = 0, miny = 40, maxy = 0;
  for (var y = 0; y < 40; y++) {