dom/workers/test/fileReaderSync_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 var reader = new FileReaderSync();
     3 /**
     4  * Expects an object containing a file and an encoding then uses a
     5  * FileReaderSync to read the file. Returns an object containing the
     6  * file read a binary string, text, url and ArrayBuffer.
     7  */
     8 onmessage = function(event) {
     9   var file = event.data.file;
    10   var encoding = event.data.encoding;
    12   var rtnObj = new Object();
    14   if (encoding != undefined) {
    15     rtnObj.text = reader.readAsText(file, encoding);
    16   } else {
    17     rtnObj.text = reader.readAsText(file);
    18   }
    20   rtnObj.bin = reader.readAsBinaryString(file);
    21   rtnObj.url = reader.readAsDataURL(file);
    22   rtnObj.arrayBuffer = reader.readAsArrayBuffer(file);
    24   postMessage(rtnObj);
    25 };

mercurial