Fix visual viewport for OOPIFs.

When called for a subframe,
RenderWidgetHostViewChildFrame::GetVisibleViewportSize currently
returns the subframe's size, yet this value is plumbed through
ResizeParams::visible_viewport_size and into
WebWidget::resizeVisualViewport, which resizes the visual viewport.
This appears wrong: visual viewport should be a page-level concept,
independent of which frame is asking for it.  From
WebWidget::resizeVisualViewport:

  // Normally the unscaled visual viewport is the same size as the
  // main frame.

This CL changes the plumbing to instead return the main frame bounds
in RWHVCF, and adds plumbing in WebFrameWidget to set the page's
visual viewport in resizeVisualViewport.  I hit this while working on
fullscreen: without this, fullscreening an element in an OOPIF
incorrectly sized it using the subframe's bounds rather than the main
frame's bounds (which had been resized to occupy the whole screen).

BUG=550497
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation

Review URL: https://codereview.chromium.org/1834913002

Cr-Commit-Position: refs/heads/master@{#384597}
3 files changed