<!DOCTYPE html>
<meta charset="utf8">
<script type="text/javascript">
window.onload = async () => {
  parent.postMessage("ready", "*");
}

window.addEventListener("message", async function listener(event) {
//window.addEventListener("load", async function listener(event) {
  if (event.data[0] == "gimme") {
    // eslint-disable-next-line
    var s = `<html><script>
      let result = {
        hardwareConcurrency : navigator.hardwareConcurrency
      };
      window.parent.document.querySelector('#result').textContent = JSON.stringify(result);
      window.parent.postMessage(["frame_response"], "*");`;
    // eslint-disable-next-line
    s += `</` + `script></html>`;

    let b = new Blob([s], { type: "text/html" });
    let url = URL.createObjectURL(b);

    var iframe = document.createElement("iframe");
    iframe.src = url;
    document.body.append(iframe);
  } else if (event.data[0] == "frame_response") {
    let result = document.querySelector("#result").textContent;
    parent.postMessage(JSON.parse(result), "*");
  }
});
</script>
<body>
<output id="result"></output>
</body>
