commit | 1bfc151cd3805a81e6488dd7b4cd65fd08f3584e | [log] [tgz] |
---|---|---|
author | Alex Moshchuk <alexmos@chromium.org> | Thu Jun 14 20:49:51 2018 |
committer | Commit Bot <commit-bot@chromium.org> | Thu Jun 14 20:49:51 2018 |
tree | a53163cd76153e7e5240715d4f7d55cb8ccb92db | |
parent | ba8d3dce541ef21a1d01541e7e990b59709b5b04 [diff] |
Delay subframe process shutdown to allow subframe unload handlers to execute. Currently, if a page with an OOPIF navigates cross-process, we immediately destroy the OOPIF's RenderFrameHost when its parent commits (see FrameTreeNode::ResetForNewProcess()). The RFH destruction triggers a message to the renderer to delete the RenderFrame, which also causes it to run its unload handler. However, if the subframe was the last active frame in its process, the process will proceed to shut down without waiting for the unload handler to run at all, and in such a case, the subframe unload handler won't really be able to do anything, including termination pings. This CL fixes this by delaying subframe process shutdown in such situations by one second (which matches the existing unload timeout that we use for pending delete RenderFrameHosts). Bug: 852204, 609963 Change-Id: I142ef4e6f59df465c6ed213df02daf492e989c2d Reviewed-on: https://chromium-review.googlesource.com/1094917 Reviewed-by: Steven Holte <holte@chromium.org> Reviewed-by: Ćukasz Anforowicz <lukasza@chromium.org> Reviewed-by: Charlie Reis <creis@chromium.org> Commit-Queue: Alex Moshchuk <alexmos@chromium.org> Cr-Commit-Position: refs/heads/master@{#567395}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .