var id = 0;
try {
  id = setTimeout("postMessage('handler invoked')", 100);
} catch (e) {}
var message = id === 0 ? "setTimeout blocked" : "setTimeout allowed";

if (typeof SharedWorkerGlobalScope === "function") {
  onconnect = function (e) {
    var port = e.ports[0];

    port.onmessage = function () { port.postMessage(message); }
    port.postMessage(message);
  };
} else if (typeof DedicatedWorkerGlobalScope === "function") {
  self.postMessage(message);
}
