- We do indeed internally take advantage of that sharing - it's necessary for composition of multiple renderer process contents into a single browser window.
- In Chromium we're not very interested in doing work just for the sake of Electron, but we are interested in doing work to make the web platform more powerful (which benefits Electron).
- A version of this can be done in a secure, standardizable way. There are already ways to make multiple JS contexts (workers, iframes, popups) that can freely communicate with each other. Sharing GPUDevices across windows may not be significantly different from sharing across workers.
- SharedWorker will probably get WebGPU support (but not sure whether the GPUDevice will be shareable with other JS contexts).
- As a proxy argument, for any two contexts between which you can share a SharedArrayBuffer, you should also theoretically be able to share a GPUDevice. (Though I don't know if all the theoretically-possible ways to share SharedArrayBuffers exist today or not.)