summaryrefslogtreecommitdiffstats
path: root/image/test/mochitest/bug1180105-waiter.sjs
blob: 4e20cb9976d847b72a75291a71d0f352c6f3ed85 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/* Any copyright is dedicated to the Public Domain.
 * http://creativecommons.org/publicdomain/zero/1.0/
 */

var timer = Cc["@mozilla.org/timer;1"];
var waitTimer = timer.createInstance(Ci.nsITimer);

function handleRequest(request, response) {
  response.setHeader("Content-Type", "text/html", false);
  response.setHeader("Cache-Control", "no-cache", false);
  response.setStatusLine(request.httpVersion, 200, "OK");
  response.processAsync();
  waitForFinish(response);
}

function waitForFinish(response) {
  if (getSharedState("all-parts-done") === "1") {
    response.write("done");
    response.finish();
  } else {
    waitTimer.initWithCallback(
      function () {
        waitForFinish(response);
      },
      10,
      Ci.nsITimer.TYPE_ONE_SHOT
    );
  }
}