dom/workers/test/fileSlice_worker.js

Tue, 06 Jan 2015 21:39:09 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 06 Jan 2015 21:39:09 +0100
branch
TOR_BUG_9701
changeset 8
97036ab72558
permissions
-rw-r--r--

Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

     1 /**
     2  * Expects an object containing a blob, a start offset, an end offset
     3  * and an optional content type to slice the blob. Returns an object
     4  * containing the size and type of the sliced blob.
     5  */
     6 onmessage = function(event) {
     7   var blob = event.data.blob;
     8   var start = event.data.start;
     9   var end = event.data.end;
    10   var contentType = event.data.contentType;
    12   var slicedBlob;
    13   if (contentType == undefined && end == undefined) {
    14     slicedBlob = blob.slice(start);
    15   } else if (contentType == undefined) {
    16     slicedBlob = blob.slice(start, end);
    17   } else {
    18     slicedBlob = blob.slice(start, end, contentType);
    19   }
    21   var rtnObj = new Object();
    23   rtnObj.size = slicedBlob.size;
    24   rtnObj.type = slicedBlob.type;
    26   postMessage(rtnObj);
    27 };

mercurial