<!DOCTYPE html>
<body>
<script>
    if (window.testRunner) {
        testRunner.waitUntilDone();
        testRunner.dumpAsText();
    }
    onmessage = (event) => {
        document.body.innerHTML = !event.data ? "PASS": "FAIL";
        if (window.testRunner)
            testRunner.notifyDone();
    };
    setTimeout(() => {
        document.body.innerHTML = "TIMEOUT";
        if (window.testRunner)
            testRunner.notifyDone();
    }, 10000);
</script>
<iframe src="data:text/html,<script>console.log('data URL frame loaded'); const blob = new Blob(['<'+ 'script>console.log(\'blob popup loaded\'); window.opener.postMessage(window.isSecureContext, \'*\'); console.log(\'blob popup message posted\'); <' + '/script>'], {type: 'text/html'}); const popup = window.open(URL.createObjectURL(blob)); onmessage = (event) => { parent.postMessage(event.data, '*'); popup.close(); }; console.log('blob popup opened'); </script>"></iframe>
</body>
