You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

createImageBitmap.ts 883B

12345678910111213141516171819202122232425262728293031
  1. /*
  2. * Safari < 15 polyfill for createImageBitmap
  3. * https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/createImageBitmap
  4. *
  5. * Support source image types: Canvas.
  6. */
  7. // @ts-nocheck
  8. if (!('createImageBitmap' in window)) {
  9. window.createImageBitmap = async function(data) {
  10. return new Promise((resolve, reject) => {
  11. let dataURL;
  12. if (data instanceof HTMLCanvasElement) {
  13. dataURL = data.toDataURL();
  14. } else {
  15. reject(new Error('createImageBitmap does not handle the provided image source type'));
  16. }
  17. const img = document.createElement('img');
  18. img.close = () => {
  19. // empty
  20. };
  21. img.addEventListener('load', () => {
  22. resolve(img);
  23. });
  24. img.src = dataURL;
  25. });
  26. };
  27. }