diff options
author | Alon Zakai <alonzakai@gmail.com> | 2012-08-11 11:37:42 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2012-08-11 11:37:42 -0700 |
commit | 380bb35bfe21c99feabd9bf29e8a3156b8c22ba9 (patch) | |
tree | 67ce18cc6070a655225d3b91cedb87053d243231 | |
parent | 9998978f1bc0c0aafeac29dd7adf5b2b0b6e078e (diff) |
if blob constructor fails, use blob builder
-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(); |