Show/Hide RenderWidgetHostViews under an OOPIF when its Frame Owner becomes Visible/Hidden

Right now changing the visibility state of a cross-origin iframe will
lead to calls to RenderWidgetHostView::Show/Hide on its corresponding
view. Therefore, when hiding a frame the RenderWidget will stop
generating compositor frames.

However, when the iframe itself has nested cross-origin frames, the
current calls to Hide() and Show() are not replicated for their views.
This CL adds the missing code to inform the subviews about changes in
the visibility state.

The CL also modifies the existing test for visibility change a test to
further verify that hiding a cross origin iframe will also hide any
child view nested within it.

Bug: 628704
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_site_isolation
Change-Id: I3589d1e90ae7ee8bfdb654625c451cc0e6704785
Reviewed-on: https://chromium-review.googlesource.com/599006
Commit-Queue: Ehsan Karamad <[email protected]>
Reviewed-by: Alex Moshchuk <[email protected]>
Reviewed-by: Ken Buchanan <[email protected]>
Reviewed-by: Lucas Gadani <[email protected]>
Cr-Commit-Position: refs/heads/master@{#495861}
10 files changed