Fix the set_render_frame_proxy_created() bookkeeping in SwapOut.
While investigating issue 794625, I noticed that it is possible for RFHI::SwapOut to not actually create the proxy. This happens if (1) the RFHI to be swapped out is already pending deletion, and (2) the RFHI to be swapped out is not live. Nonetheless, the sole caller of RFHI::SwapOut, RenderFrameHostManager::SwapOutOldFrame, assumes that a replacement proxy is always created and unconditionally calls proxy->set_render_frame_proxy_created(true) afterward. This seems wrong - instead, the proxy should be set to be live if the IPC to create it was actually sent, which is what this CL does. I can't pinpoint any specific issues this might lead to, so this is more of a speculative/preventative fix for problems in this area. There's a chance it might be related to issue 794625, though in that issue, I'd expect the problem to be that we send a message to create a proxy to a process where the proxy had already been created, and here, the resulting problems would be from a proxy being marked as live without actually having been created. Bug: 794625 Change-Id: I7e3f53c17b541f9d5796714ef7c530a7955cf143 Reviewed-on: https://chromium-review.googlesource.com/1139215 Commit-Queue: Charlie Reis <creis@chromium.org> Reviewed-by:Charlie Reis <creis@chromium.org> Cr-Commit-Position: refs/heads/master@{#575935}
Showing
Please register or sign in to comment