Swapped-out RenderViewHosts don't track changes in visibility |
|||||
Issue descriptionThis breaks the process priority in RenderProcessHostImpl, as it relies on widget visibility when deciding whether to background processes. I believe there are two ways this can end up wrong: - The initial visibility of swapped-out RenderViewHosts is set in RenderFrameHostManager::CreateRenderFrameProxy based on the WebContents' visibility. - The RenderWidgetHost can be reused in a navigation where the main frame becomes a proxy. This can happen when there's an opener that keeps the RenderViewHost alive.
,
May 9 2018
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue. Sorry for the inconvenience if the bug really should have been left as Available. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
May 9 2018
I think this is being worked on by boliu@ on issue 813232 . Bo, can we mark this as a duplicate?
,
May 9 2018
not really but I thought swapped out rvh is always invisible? Are there corner cases where that doesn't hold?
,
May 9 2018
Re#4: Yes, when a RVH starts as visible, then swaps out, its (RWH) visibility won't be updated. For example, navigate to a.com, then window.open a new tab to a a.com. Finally, go back and navigate the original tab to b.com. This will swap-out the original a.com's RVH, but I think its visibility won't change to invisible. +alexmos who looked at similar issues recently.
,
May 9 2018
Oh, maybe this is already covered, modulo difference between swapped out and inactive: https://cs.chromium.org/chromium/src/content/browser/renderer_host/render_widget_host_impl.cc?rcl=e746658481a024a427a92d79e4fb09385d6a6971&l=1674
,
May 9 2018
Yes, I think this is enough to mark this bug as fixed, since even if we don't track visibility changes in the RenderWidgetHost associated with the swapped-out RVH, we always mark the RVH as inactive. Active is also the right thing to check here. |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by bugdroid1@chromium.org
, May 8 2017