aboutsummaryrefslogtreecommitdiff
path: root/src/library_browser.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2012-08-11 11:37:42 -0700
committerAlon Zakai <alonzakai@gmail.com>2012-08-11 11:37:42 -0700
commit380bb35bfe21c99feabd9bf29e8a3156b8c22ba9 (patch)
tree67ce18cc6070a655225d3b91cedb87053d243231 /src/library_browser.js
parent9998978f1bc0c0aafeac29dd7adf5b2b0b6e078e (diff)
if blob constructor fails, use blob builder
Diffstat (limited to 'src/library_browser.js')
-rw-r--r--src/library_browser.js11
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();