2011-08-15 20:40:38 -07:00
|
|
|
/**
|
|
|
|
* 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) {
|
2012-02-16 02:22:25 -08:00
|
|
|
slicedBlob = blob.slice(start);
|
2011-08-15 20:40:38 -07:00
|
|
|
} else if (contentType == undefined) {
|
2012-02-16 02:22:25 -08:00
|
|
|
slicedBlob = blob.slice(start, end);
|
2011-08-15 20:40:38 -07:00
|
|
|
} else {
|
2012-02-16 02:22:25 -08:00
|
|
|
slicedBlob = blob.slice(start, end, contentType);
|
2011-08-15 20:40:38 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
var rtnObj = new Object();
|
|
|
|
|
|
|
|
rtnObj.size = slicedBlob.size;
|
|
|
|
rtnObj.type = slicedBlob.type;
|
|
|
|
|
|
|
|
postMessage(rtnObj);
|
|
|
|
};
|