| "use strict"; |
| |
| //Abstracts constructing a Blob object, so it also works in older |
| //browsers that don't support the native Blob constructor. (i.e. |
| //old QtWebKit versions, at least). |
| function createBlob(parts, properties) { |
| parts = parts || []; |
| properties = properties || {}; |
| try { |
| return new Blob(parts, properties); |
| } catch (e) { |
| if (e.name !== "TypeError") { |
| throw e; |
| } |
| var BlobBuilder = global.BlobBuilder || |
| global.MSBlobBuilder || |
| global.MozBlobBuilder || |
| global.WebKitBlobBuilder; |
| var builder = new BlobBuilder(); |
| for (var i = 0; i < parts.length; i += 1) { |
| builder.append(parts[i]); |
| } |
| return builder.getBlob(properties.type); |
| } |
| } |
| |
| module.exports = createBlob; |
| |