summaryrefslogtreecommitdiffstats
path: root/dom/workers/test/fileSlice_worker.js
blob: 94a283033a0ba10e30d4692cc316a88f36875900 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/**
 * Expects an object containing a blob, a start offset, an end offset
 * and an optional content type to slice the blob. Returns an object
 * containing the size and type of the sliced blob.
 */
onmessage = function (event) {
  var blob = event.data.blob;
  var start = event.data.start;
  var end = event.data.end;
  var contentType = event.data.contentType;

  var slicedBlob;
  if (contentType == undefined && end == undefined) {
    slicedBlob = blob.slice(start);
  } else if (contentType == undefined) {
    slicedBlob = blob.slice(start, end);
  } else {
    slicedBlob = blob.slice(start, end, contentType);
  }

  var rtnObj = new Object();

  rtnObj.size = slicedBlob.size;
  rtnObj.type = slicedBlob.type;

  postMessage(rtnObj);
};