PlzNavigate: Avoid leaks if renderer does not request stream URL after CommitNavigation |
||
Issue descriptionI haven't confirmed if this is an actual leak yet or not, but I'm not sure if we have code to handle it. PlzNavigate normally sends a CommitNavigation IPC to the renderer and expects it to request a stream URL in response. It's possible for the renderer process to ignore the IPC and never request the stream URL, though. For example, the interrupted_by_client_redirect may kick in for a subframe history navigation that gets preempted by a JS navigation in the frame, as we found in https://codereview.chromium.org/2890613002/#msg15. If this happens, is there any way for the browser process to find out and not leave the stream lying around forever? Maybe it will go away when the renderer exits? (Ideally we could clean it up without waiting that long.)
,
Jun 1 2017
Before the stream is requested by the renderer, its lifetime is controlled by a StreamHandle owned by the RenderFrameHost. Right now it's only cleaned when the RFH is destroyed or we do a new navigation. This is not ideal, but this shouldn't lead to a URLRequest leak. We can try to improve the situation, though I'm worried about edge cases where we release the stream while the renderer wants to claim it. Also note that we plan to switch to a Mojo stream soon, which should hopefully help with this issue.
,
Jun 23 2017
|
||
►
Sign in to add a comment |
||
Comment 1 by creis@chromium.org
, May 31 2017Owner: clamy@chromium.org
Status: Assigned (was: Untriaged)