<!DOCTYPE html>
<head>
<title>data URL shared worker</title>
</head>
<body>
<script>
onmessage = event => {
  const port = event.ports[0];
  // This shared worker counts the total number of connected documents and
  // notifies the connector of it.
  const kScript =
      "onconnect = e => {" +
      "  if (self.count === undefined)" +
      "    self.count = 0;" +
      "  self.count++;" +
      "  e.ports[0].postMessage(self.count);" +
      "};";
  const worker = new SharedWorker('data:application/javascript,' + kScript);
  worker.port.onmessage = e => port.postMessage(e.data);
};

window.opener.postMessage('LOADED', '*');
</script>
</body>
</html>
