}), {once: true});
    t.add_cleanup(() => { document.body.removeChild(ifr) });
    document.body.appendChild(ifr);
    });
}, "Opaque origin should be serialized to \"null\"");


const iframe_src = (channel_name, iframe_name) => `data:text/html,<script>
let bc2 = new BroadcastChannel("${channel_name}");
bc2.onmessage = (e) => {
  if (e.data == "from-${iframe_name}") {
    parent.postMessage("${iframe_name}-done", "*");
  } else {
    parent.postMessage("fail", "*");
  }
};
let bc3 = new BroadcastChannel("$