That makes it difficult for MV3 extension ServiceWorker's to transfer data to arbitrary Web sites
https://github.com/GoogleChrome/chrome-extensions-samples/issues/766. We can use 1) <iframe> element appended to a document, then parent.postMessage(), however, the iframe can be removed from the document by other code; 2) we can use open(), then opener.postMessage(), however, on Chrome the popup Window is always at least 100x100 before extension code can resize and blur; 3) we can use offscreen document with WebRTC data channels, which means loading the resources of an entire Window and Document and using WebRTC
https://github.com/GoogleChrome/chrome-extensions-samples/pull/782 (
https://github.com/guest271314/offscreen-webrtc) - just to transfer ArrayBuffers - when we should be able to do that without using the former 3 additional resources .
There _has_ to be a way to programmatically set an arbitrary Web page as a WindowClient in the source code, for the purpose of establishing a way to use postMessage() and onmessage.
Where does Chrome set WindowClient in Chromium source code?