Skip to content

Commit c796e23

Browse files
committed
Refactor last merge.
Added a check for the Blob constructor. Use the Blob constructor in favor of the (deprecated) BlobBuilder interface if available.
1 parent 2b74454 commit c796e23

File tree

2 files changed

+16
-12
lines changed

2 files changed

+16
-12
lines changed

canvas-to-blob.js

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* JavaScript Canvas to Blob 2.0.1
2+
* JavaScript Canvas to Blob 2.0.2
33
* https://github.com/blueimp/JavaScript-Canvas-to-Blob
44
*
55
* Copyright 2012, Sebastian Tschan
@@ -13,16 +13,23 @@
1313
*/
1414

1515
/*jslint nomen: true, regexp: true */
16-
/*global window, atob, ArrayBuffer, Uint8Array, define */
16+
/*global window, atob, Blob, ArrayBuffer, Uint8Array, define */
1717

1818
(function (window) {
1919
'use strict';
2020
var CanvasPrototype = window.HTMLCanvasElement &&
2121
window.HTMLCanvasElement.prototype,
22+
hasBlobConstructor = function () {
23+
try {
24+
return !!new Blob();
25+
} catch (e) {
26+
return false;
27+
}
28+
}(),
2229
BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder ||
23-
window.MozBlobBuilder || window.MSBlobBuilder || window.Blob,
24-
dataURLtoBlob = BlobBuilder && window.atob && window.ArrayBuffer &&
25-
window.Uint8Array && function (dataURI) {
30+
window.MozBlobBuilder || window.MSBlobBuilder,
31+
dataURLtoBlob = (hasBlobConstructor || BlobBuilder) && window.atob &&
32+
window.ArrayBuffer && window.Uint8Array && function (dataURI) {
2633
var byteString,
2734
arrayBuffer,
2835
intArray,
@@ -44,13 +51,10 @@
4451
}
4552
// Separate out the mime component:
4653
mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];
47-
if(window.Blob && !BlobBuilder.prototype.append) {
48-
try {
49-
// Safari 6+
50-
return new Blob([arrayBuffer],{type:mimeString});
51-
} catch(e) {}
52-
}
5354
// Write the ArrayBuffer to a blob:
55+
if (hasBlobConstructor) {
56+
return new Blob([arrayBuffer], {type: mimeString});
57+
}
5458
bb = new BlobBuilder();
5559
bb.append(arrayBuffer);
5660
return bb.getBlob(mimeString);

canvas-to-blob.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)