Track CSS visibility state of OOPIFs on the browser side
When an OOPIF is hidden through changing CSS properties of its frame- owner element, the state is reported to the browser and the IPC handled in the CrossProcessFrameConnector associated with RWHV. This will also lead to a call to RenderWidgetHostImpl::WasShown/WasHidden for the corresponding local root. However, when the browser is shown all RWHVs are asked to Show which will invalidate the current state of CSS visibility. Specifically, this causes a hidden frame to generate compositor frames. This CL will add a bit to RenderWidgetHostViewChildFrame to remember its CSS visibility state. Also when RWHVCF::Show is called, the view will verify that neither itself nor an ancestor view are CSS invisible before calling RenderWidgetHostImpl::WasShown. BUG=628700 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_site_isolation Change-Id: I42c3d7f50aacd47b12f0de151c856233e8942510 Reviewed-on: https://chromium-review.googlesource.com/583729 Commit-Queue: Ehsan Karamad <ekaramad@chromium.org> Reviewed-by:Alex Moshchuk <alexmos@chromium.org> Reviewed-by:
Ken Buchanan <kenrb@chromium.org> Reviewed-by:
Lucas Gadani <lfg@chromium.org> Cr-Commit-Position: refs/heads/master@{#491066}
Showing
Please register or sign in to comment