layout/style/test/redundant_font_download.sjs

Thu, 15 Jan 2015 21:03:48 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 21:03:48 +0100
branch
TOR_BUG_9701
changeset 11
deefc01c0e14
permissions
-rw-r--r--

Integrate friendly tips from Tor colleagues to make (or not) 4.5 alpha 3;
This includes removal of overloaded (but unused) methods, and addition of
a overlooked call to DataStruct::SetData(nsISupports, uint32_t, bool.)

     1 const BinaryOutputStream =
     2   Components.Constructor("@mozilla.org/binaryoutputstream;1",
     3                          "nsIBinaryOutputStream",
     4                          "setOutputStream");
     6 // this is simply a hex dump of a red square .PNG image
     7 const RED_SQUARE =
     8   [
     9     0x89,  0x50,  0x4E,  0x47,  0x0D,  0x0A,  0x1A,  0x0A,  0x00,  0x00,
    10     0x00,  0x0D,  0x49,  0x48,  0x44,  0x52,  0x00,  0x00,  0x00,  0x20,
    11     0x00,  0x00,  0x00,  0x20,  0x08,  0x02,  0x00,  0x00,  0x00,  0xFC,
    12     0x18,  0xED,  0xA3,  0x00,  0x00,  0x00,  0x01,  0x73,  0x52,  0x47,
    13     0x42,  0x00,  0xAE,  0xCE,  0x1C,  0xE9,  0x00,  0x00,  0x00,  0x28,
    14     0x49,  0x44,  0x41,  0x54,  0x48,  0xC7,  0xED,  0xCD,  0x41,  0x0D,
    15     0x00,  0x00,  0x08,  0x04,  0xA0,  0xD3,  0xFE,  0x9D,  0x35,  0x85,
    16     0x0F,  0x37,  0x28,  0x40,  0x4D,  0x6E,  0x75,  0x04,  0x02,  0x81,
    17     0x40,  0x20,  0x10,  0x08,  0x04,  0x02,  0xC1,  0x93,  0x60,  0x01,
    18     0xA3,  0xC4,  0x01,  0x3F,  0x58,  0x1D,  0xEF,  0x27,  0x00,  0x00,
    19     0x00,  0x00,  0x49,  0x45,  0x4E,  0x44,  0xAE,  0x42,  0x60,  0x82
    20   ];
    22 function handleRequest(request, response)
    23 {
    24   var query = {};
    25   request.queryString.split('&').forEach(function (val) {
    26     var [name, value] = val.split('=');
    27     query[name] = unescape(value);
    28   });
    30   response.setHeader("Cache-Control", "no-cache");
    32   response.setStatusLine(request.httpVersion, 200, "OK");
    33   response.setHeader("Content-Type", "text/plain", false);
    35   var log = getState("bug-879963-request-log") || "";
    37   var stream = new BinaryOutputStream(response.bodyOutputStream);
    39   if (query["q"] == "init") {
    40     log = "init"; // initialize the log, and return a PNG image
    41     response.setHeader("Content-Type", "image/png", false);
    42     stream.writeByteArray(RED_SQUARE, RED_SQUARE.length);
    43   } else if (query["q"] == "image") {
    44     log = log + ";" + query["q"];
    45     response.setHeader("Content-Type", "image/png", false);
    46     stream.writeByteArray(RED_SQUARE, RED_SQUARE.length);
    47   } else if (query["q"] == "font") {
    48     log = log + ";" + query["q"];
    49     // we don't provide a real font; that's ok, OTS will just reject it
    50     response.write("Junk");
    51   } else if (query["q"] == "report") {
    52     // don't include the actual "report" request in the log we return
    53     response.write(log);
    54   } else {
    55     log = log + ";" + query["q"];
    56     response.setStatusLine(request.httpVersion, 404, "Not Found");
    57   }
    59   setState("bug-879963-request-log", log);
    60 }

mercurial