diff options
Diffstat (limited to 'src/library_browser.js')
-rw-r--r-- | src/library_browser.js | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/library_browser.js b/src/library_browser.js index a1e97b10..f285a6d2 100644 --- a/src/library_browser.js +++ b/src/library_browser.js @@ -83,10 +83,15 @@ mergeInto(LibraryManager.library, { return name.substr(-4) in { '.jpg': 1, '.png': 1, '.bmp': 1 }; }; imagePlugin['handle'] = function(byteArray, name, onload, onerror) { - var b; + var b = null; if (Browser.hasBlobConstructor) { - b = new Blob([byteArray], { type: getMimetype(name) }); - } else { + try { + b = new Blob([byteArray], { type: getMimetype(name) }); + } catch(e) { + Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); + } + } + if (!b) { var bb = new Browser.BlobBuilder(); bb.append(byteArray.buffer); b = bb.getBlob(); |