michael@0: var timer; michael@0: var callback; michael@0: michael@0: function handleRequest(request, response) michael@0: { michael@0: if (request.queryString.indexOf("trigger") != -1) { michael@0: setState("triggered", "triggered"); michael@0: response.setHeader("Cache-Control", "no-cache", false); michael@0: response.setHeader("Content-Type", "text/javascript; charset=utf-8", false); michael@0: response.write(";"); michael@0: } else { michael@0: response.processAsync(); michael@0: response.setHeader("Cache-Control", "no-cache", false); michael@0: response.setHeader("Content-Type", "text/html; charset=utf-8", false); michael@0: response.write(" "); michael@0: response.bodyOutputStream.flush(); michael@0: timer = Components.classes["@mozilla.org/timer;1"] michael@0: .createInstance(Components.interfaces.nsITimer); michael@0: michael@0: callback = function() { michael@0: if (getState("triggered") == "triggered") { michael@0: response.write("
AB
"); michael@0: response.finish(); michael@0: } else { michael@0: timer.initWithCallback(callback, michael@0: 10, michael@0: Components.interfaces.nsITimer.TYPE_ONE_SHOT); michael@0: } michael@0: } michael@0: timer.initWithCallback(callback, michael@0: 10, michael@0: Components.interfaces.nsITimer.TYPE_ONE_SHOT); michael@0: } michael@0: }