summaryrefslogtreecommitdiff
path: root/www/lib/localforage/src/utils/createBlob.js
diff options
context:
space:
mode:
authorPliable Pixels <pliablepixels@gmail.com>2016-08-01 16:43:27 -0400
committerPliable Pixels <pliablepixels@gmail.com>2016-08-01 16:43:27 -0400
commit69e7033fca28646d1f3f2c78db6e0e6c2796c3e8 (patch)
treedc9cb04aeaaf961e776645b656a9f4dc4e457025 /www/lib/localforage/src/utils/createBlob.js
parent81d24bbed0af0ba7b39948ca968528b225a46c76 (diff)
#292 - various items cleaned up, default to sqlite for devices, cleaned up entry paths to PortalLogin and ensured its AFTER DataModel.init() - wonder if this fixes #193
Former-commit-id: fbe5c0b0649b44912f5a52babeea5aa91a58e70f
Diffstat (limited to 'www/lib/localforage/src/utils/createBlob.js')
-rw-r--r--www/lib/localforage/src/utils/createBlob.js29
1 files changed, 29 insertions, 0 deletions
diff --git a/www/lib/localforage/src/utils/createBlob.js b/www/lib/localforage/src/utils/createBlob.js
new file mode 100644
index 00000000..4d698551
--- /dev/null
+++ b/www/lib/localforage/src/utils/createBlob.js
@@ -0,0 +1,29 @@
+// 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).
+// 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) {
+ /* global BlobBuilder,MSBlobBuilder,MozBlobBuilder,WebKitBlobBuilder */
+ parts = parts || [];
+ properties = properties || {};
+ try {
+ return new Blob(parts, properties);
+ } catch (e) {
+ if (e.name !== 'TypeError') {
+ throw e;
+ }
+ var Builder = typeof BlobBuilder !== 'undefined' ? BlobBuilder :
+ typeof MSBlobBuilder !== 'undefined' ? MSBlobBuilder :
+ typeof MozBlobBuilder !== 'undefined' ? MozBlobBuilder :
+ WebKitBlobBuilder;
+ var builder = new Builder();
+ for (var i = 0; i < parts.length; i += 1) {
+ builder.append(parts[i]);
+ }
+ return builder.getBlob(properties.type);
+ }
+}
+
+export default createBlob;