basant307/AI_Governance_Project
048
1var BRp = {};2 3BRp.getCachedImage = function( url, crossOrigin, onLoad ){4 var r = this;5 var imageCache = r.imageCache = r.imageCache || {};6 var cache = imageCache[ url ];7 8 if( cache ){9 if( !cache.image.complete ){10 cache.image.addEventListener('load', onLoad);11 }12 13 return cache.image;14 } else {15 cache = imageCache[ url ] = imageCache[ url ] || {};16 17 var image = cache.image = new Image(); // eslint-disable-line no-undef18 19 image.addEventListener('load', onLoad);20 image.addEventListener('error', function(){ image.error = true; });21 22 // #1582 safari doesn't load data uris with crossOrigin properly23 // https://bugs.webkit.org/show_bug.cgi?id=12397824 var dataUriPrefix = 'data:';25 var isDataUri = url.substring( 0, dataUriPrefix.length ).toLowerCase() === dataUriPrefix;26 if( !isDataUri ){27 // if crossorigin is 'null'(stringified), then manually set it to null 28 crossOrigin = crossOrigin === 'null' ? null : crossOrigin;29 image.crossOrigin = crossOrigin; // prevent tainted canvas30 }31 32 image.src = url;33 34 return image;35 }36};37 38export default BRp;39 