diff options
author | Yousef Amar <yousefamar@gmail.com> | 2015-10-05 22:23:35 +0300 |
---|---|---|
committer | Yousef Amar <yousefamar@gmail.com> | 2015-10-05 22:23:35 +0300 |
commit | 54d26e968cb4eb0ddbc6b1782ca7c3674f78f53b (patch) | |
tree | dd3d5b5a5bd32cecf06720f24d9fd4d39cbdd7e3 /lib | |
parent | a0d212c8882fb5dbbeabc27b861e79980b6dd52e (diff) |
Accommodate Chrome/FF optional Blob arg difference
The specs say that the second Blob constructor argument is optional (http://www.w3.org/TR/FileAPI/#constructorParams), however Chrome and FF implement that differently. FF checks if the second arg is not undefined, while Chrome checks "arguments.length".
As a result, if the second argument is undefined, Chrome will throw an error (https://chromium.googlesource.com/chromium/blink/+/72fef91ac1ef679207f51def8133b336a6f6588f/LayoutTests/fast/files/blob-constructor.html#55), while FF will just ignore it.
This change makes it so that the second arg is not passed at all when it's undefined, and Chrome is happy as a result.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/file.js | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/file.js b/lib/file.js index 5149047..340ff37 100644 --- a/lib/file.js +++ b/lib/file.js @@ -114,7 +114,7 @@ File.prototype.getBlobURL = function (cb) { if (err) return cb(err) var ext = path.extname(self.name).toLowerCase() var type = mime[ext] - var blob = new window.Blob([ buffer ], type && { type: type }) + var blob = type ? new window.Blob([ buffer ], { type: type }) : new window.Blob([ buffer ]) var url = window.URL.createObjectURL(blob) cb(null, url) }) |