Skip to content

Instantly share code, notes, and snippets.

@nektro
Created November 7, 2017 01:14
Show Gist options
  • Save nektro/84654b5183ddd1ccb7489607239c982d to your computer and use it in GitHub Desktop.
Save nektro/84654b5183ddd1ccb7489607239c982d to your computer and use it in GitHub Desktop.
Edge and Safari Polyfill for createImageBitmap
/* Safari and Edge polyfill for createImageBitmap
* https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/createImageBitmap
*/
if (!('createImageBitmap' in window)) {
window.createImageBitmap = async function(blob) {
return new Promise((resolve,reject) => {
let img = document.createElement('img');
img.addEventListener('load', function() {
resolve(this);
});
img.src = URL.createObjectURL(blob);
});
}
}
@jimmywarting
Copy link

I took it a bit further

And I took it a bit smaller

self.createImageBitmap=self.createImageBitmap||(b,i=new Image)=>i.decode(i.src=URL.createObjectURL(b)).then(_=>i)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment