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.js 789B

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