tor-browser

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

imagebitmap_on_worker.js (4304B)


      1 importScripts("imagebitmap_bug1239300.js");
      2 
      3 function ok(expect, msg) {
      4  postMessage({ type: "status", status: !!expect, msg });
      5 }
      6 
      7 function doneTask() {
      8  postMessage({ type: "doneTask" });
      9 }
     10 
     11 function promiseThrows(p, name) {
     12  var didThrow;
     13  return p
     14    .then(
     15      function () {
     16        didThrow = false;
     17      },
     18      function () {
     19        didThrow = true;
     20      }
     21    )
     22    .then(function () {
     23      ok(didThrow, "[TestException] " + name);
     24    });
     25 }
     26 
     27 onmessage = function (event) {
     28  if (event.data.type == "testImageData") {
     29    var width = event.data.width;
     30    var height = event.data.height;
     31    var imageData = event.data.source;
     32    ok(imageData, "[CreateFromImageData] An ImageData is passed into worker.");
     33    ok(
     34      imageData.width == width,
     35      "[CreateFromImageData] Passed ImageData has right width = " + width
     36    );
     37    ok(
     38      imageData.height == height,
     39      "[CreateFromImageData] Passed ImageData has right height = " + height
     40    );
     41 
     42    var promise = createImageBitmap(imageData);
     43    promise.then(function (bitmap) {
     44      ok(bitmap, "[CreateFromImageData] ImageBitmap is created successfully.");
     45      ok(
     46        bitmap.width == width,
     47        "[CreateFromImageData] ImageBitmap.width = " +
     48          bitmap.width +
     49          ", expected witdth = " +
     50          width
     51      );
     52      ok(
     53        bitmap.height == height,
     54        "[CreateFromImageData] ImageBitmap.height = " +
     55          bitmap.height +
     56          ", expected height = " +
     57          height
     58      );
     59 
     60      doneTask();
     61    });
     62  } else if (event.data.type == "testBlob") {
     63    var width = event.data.width;
     64    var height = event.data.height;
     65    var blob = event.data.source;
     66    ok(blob, "[CreateFromBlob] A Blob object is passed into worker.");
     67 
     68    var promise = createImageBitmap(blob);
     69    promise.then(function (bitmap) {
     70      ok(bitmap, "[CreateFromBlob] ImageBitmap is created successfully.");
     71      ok(
     72        bitmap.width == width,
     73        "[CreateFromBlob] ImageBitmap.width = " +
     74          bitmap.width +
     75          ", expected witdth = " +
     76          width
     77      );
     78      ok(
     79        bitmap.height == height,
     80        "[CreateFromBlob] ImageBitmap.height = " +
     81          bitmap.height +
     82          ", expected height = " +
     83          height
     84      );
     85 
     86      doneTask();
     87    });
     88  } else if (event.data.type == "testImageBitmap") {
     89    var width = event.data.width;
     90    var height = event.data.height;
     91    var source = event.data.source;
     92    ok(
     93      source,
     94      "[CreateFromImageBitmap] A soruce object is passed into worker."
     95    );
     96 
     97    var promise = createImageBitmap(source);
     98    promise.then(function (bitmap) {
     99      ok(
    100        bitmap,
    101        "[CreateFromImageBitmap] ImageBitmap is created successfully."
    102      );
    103      ok(
    104        bitmap.width == width,
    105        "[CreateFromImageBitmap] ImageBitmap.width = " +
    106          bitmap.width +
    107          ", expected witdth = " +
    108          width
    109      );
    110      ok(
    111        bitmap.height == height,
    112        "[CreateFromImageBitmap] ImageBitmap.height = " +
    113          bitmap.height +
    114          ", expected height = " +
    115          height
    116      );
    117 
    118      var promise2 = createImageBitmap(bitmap);
    119      promise2.then(function (bitmap2) {
    120        ok(
    121          bitmap2,
    122          "[CreateFromImageBitmap] 2nd ImageBitmap is created successfully."
    123        );
    124        ok(
    125          bitmap.width == width,
    126          "[CreateFromImageBitmap] ImageBitmap.width = " +
    127            bitmap.width +
    128            ", expected witdth = " +
    129            width
    130        );
    131        ok(
    132          bitmap.height == height,
    133          "[CreateFromImageBitmap] ImageBitmap.height = " +
    134            bitmap.height +
    135            ", expected height = " +
    136            height
    137        );
    138 
    139        doneTask();
    140      });
    141    });
    142  } else if (event.data.type == "testException") {
    143    var source = event.data.source;
    144    if (event.data.sx) {
    145      var sx = event.data.sx;
    146      var sy = event.data.sy;
    147      var sw = event.data.sw;
    148      var sh = event.data.sh;
    149      promiseThrows(createImageBitmap(source, sx, sy, sw, sh), event.data.msg);
    150    } else {
    151      promiseThrows(createImageBitmap(source), event.data.msg);
    152    }
    153    doneTask();
    154  } else if (event.data.type == "testBug1239300") {
    155    var promise = testBug1239300();
    156    promise.then(doneTask, doneTask);
    157  }
    158 };