Closed emaxx-google closed 2 months ago
Continuous Integration: All tests passed. C/C++ test coverage: 73.35% lines.
Continuous Integration: All tests passed. C/C++ test coverage: 73.35% lines.
Continuous Integration: All tests passed. C/C++ test coverage: 73.33% lines.
Continuous Integration: All tests passed. C/C++ test coverage: 73.35% lines.
All fair points! Let me rewrite some of the code to await
s and split it up.
Ready for the next review iteration. This PR depends now on a few other ones, but as dependencies are horrible in GitHub I'm not trying to form a chain; hence tests fail here now, but rebasing will fix that later.
Continuous Integration: All tests passed. C/C++ test coverage: 73.30% lines.
Continuous Integration: All tests passed. C/C++ test coverage: 73.31% lines.
Thanks for the reviews!
When built in the Emscripten+Extension mode, run the Emscripten module in the Offscreen Document instead of the Service Worker.
This is needed because multi-threaded Emscripten modules require creating Workers, which Chrome doesn't currently support from Service Workers - see https://crbug.com/40772041. Hence this commit moves the module into a separate Offscreen Document which doesn't have this limitation. The rest of the background logic remains in the Service Worker because Offscreen Documents have their own strict limitations (most importantly, only chrome.runtime APIs are exposed to them).