function ok(v, msg) { client.postMessage({status: "ok", result: !!v, message: msg}); } var client; onmessage = function(e) { if (e.data.message == "start") { self.clients.matchAll().then(function(clients) { client = clients[0]; try { close(); ok(false, "close() should throw"); } catch (e) { ok(e.name === "InvalidAccessError", "close() should throw InvalidAccessError"); } client.postMessage({status: "done"}); }); } }