layout/style/test/visited_image_loading.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 function handleRequest(request, response)
     2 {
     3   response.setHeader("Cache-Control", "no-cache", false);
     4   var query = request.queryString;
     5   switch (query) {
     6     case "reset":
     7       response.setHeader("Content-Type", "application/ecmascript", false);
     8       setState("1l", "");
     9       setState("1v", "");
    10       setState("2l", "");
    11       setState("2v", "");
    12       break;
    13     case "1l":
    14     case "1v":
    15     case "2l":
    16     case "2v":
    17       setState(query, getState(query) + "load");
    18       response.setStatusLine("1.1", 302, "Found");
    19       // redirect to a solid blue image
    20       response.setHeader("Location", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVQI12NgYPgPAAEDAQDZqt2zAAAAAElFTkSuQmCC");
    21       response.setHeader("Content-Type", "text/plain", false);
    22       break;
    24     case "waitforresult":
    25       response.setHeader("Content-Type", "application/ecmascript", false);
    26       response.write("var start = Date.now();\n");
    27       // fall through!
    29     case "waitforresult-internal":
    30       response.setHeader("Content-Type", "application/ecmascript", false);
    31       response.write("if ('" + getState("1l") + "' == 'load' && '" +
    32                      getState("1v") + "' == '' && '" +
    33                      getState("2l") + "' == 'load' && '" +
    34                      getState("2v") + "' == '') { \n");
    35       response.write("setTimeout(function() {\n");
    36       response.write("var s = document.createElement('script');\n");
    37       response.write("s.src = 'visited_image_loading.sjs?result';\n");
    38       response.write("document.body.appendChild(s);");
    39       response.write("}, Math.max(100, 2 * (Date.now() - start)));\n");
    40       response.write("} else setTimeout(function() {\n");
    41       response.write("var s = document.createElement('script');\n");
    42       response.write("s.src = 'visited_image_loading.sjs?waitforresult-internal';\n");
    43       response.write("document.body.appendChild(s);");
    44       response.write("}, 10);\n");
    45       break;
    47     case "result":
    48       response.setHeader("Content-Type", "application/ecmascript", false);
    49       response.write("is('" + getState("1l") +
    50                      "', 'load', 'image 1l should have been loaded once')\n");
    51       response.write("is('" + getState("1v") +
    52                      "', '', 'image 1v should not have been loaded')\n");
    53       response.write("is('" + getState("2l") +
    54                      "', 'load', 'image 2l should have been loaded once')\n");
    55       response.write("is('" + getState("2v") +
    56                      "', '', 'image 2v should not have been loaded')\n");
    57       response.write("SimpleTest.finish()");
    58       break;
    59   }
    60 }

mercurial