Hi Chromium-mojo Team,
I am investigating a bug potentially caused by a different mojo sending policy on renderer destructing.
Context
The fetch keepalive
migration routes every keepalive request handling via the browser process before reaching network service, i.e.
- Before: renderer -> network service
- After: renderer -> browser -> network service
The mojo interface network::mojom::URLLoaderFactory used by renderer are all created by browser in RenderFrameHostImpl and get passed to renderer after CommitNavigation(). The only difference is that they point to different places before/after migration.
Questions
We expect that mojo made and queued by renderer can be eventually sent to the browser process, even if a renderer is unloaded, such that the request handling can be continued by browser. However, we observe that there are around 2-5% requests not being able to reach the browser.
Does renderer treat -> network service mojo messages differently on unload than other -> browser messages?