tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

browser_temporaryFile.js (1630B)


      1 add_task(async _ => {
      2  await new Promise(resolve => {
      3    var xhr = new XMLHttpRequest();
      4    xhr.open(
      5      "POST",
      6      "http://mochi.test:8888/browser/dom/xhr/tests/temporaryFileBlob.sjs"
      7    );
      8    xhr.responseType = "blob";
      9    xhr.send("");
     10    xhr.onloadend = __ => {
     11      is(xhr.response.blobImplType, "EmptyBlobImpl", "We want a EmptyBlobImpl");
     12      resolve();
     13    };
     14  });
     15 });
     16 
     17 add_task(async _ => {
     18  var data = new Array(2).join("1234567890ABCDEF");
     19 
     20  await new Promise(resolve => {
     21    var xhr = new XMLHttpRequest();
     22    xhr.open(
     23      "POST",
     24      "http://mochi.test:8888/browser/dom/xhr/tests/temporaryFileBlob.sjs"
     25    );
     26    xhr.responseType = "blob";
     27    xhr.send({
     28      toString() {
     29        return data;
     30      },
     31    });
     32    xhr.onloadend = __ => {
     33      is(
     34        xhr.response.blobImplType,
     35        "MemoryBlobImpl",
     36        "We want a MemoryBlobImpl"
     37      );
     38      resolve();
     39    };
     40  });
     41 });
     42 
     43 add_task(async _ => {
     44  await SpecialPowers.pushPrefEnv({
     45    set: [["dom.blob.memoryToTemporaryFile", 1]],
     46  });
     47 
     48  var data = new Array(2).join("1234567890ABCDEF");
     49 
     50  await new Promise(resolve => {
     51    var xhr = new XMLHttpRequest();
     52    xhr.open(
     53      "POST",
     54      "http://mochi.test:8888/browser/dom/xhr/tests/temporaryFileBlob.sjs"
     55    );
     56    xhr.responseType = "blob";
     57    xhr.send({
     58      toString() {
     59        return data;
     60      },
     61    });
     62    xhr.onloadend = __ => {
     63      is(
     64        xhr.response.blobImplType,
     65        "StreamBlobImpl[TemporaryFileBlobImpl]",
     66        "We want a StreamBlobImpl holding a TemporaryFileBlobImpl on the parent side"
     67      );
     68      resolve();
     69    };
     70  });
     71 });