Get the WindowRect from each frame's WebWidgetClient.

The WindowRect given to each WebWidgetClient (aka RenderWidget) is the
same rect, representing the bounds of the top level window's web
content. Currently we always ask the WebView's top-level RenderWidget
for the value, but when it is frozen this is not correct. It happens
to work since we send PageMsg_UpdateWindowScreenRect to these frozen
RenderWidgets via their inactive RenderViewImpls.

Change ChromeClient to take a LocalFrame parameter and grab the
WindowRect from that LocalFrame's RenderWidget (from the frame's
local root technically) instead.

Also remove PageRect() since it just returns the WindowRect. And drop
RootWindowRect() from the WebViewClient API as it's no longer needed.

R=dcheng@chromium.org

Bug: 912193
Change-Id: I79340d7965260f6dd1aa2a7056c5c631b699a0b4
Reviewed-on: https://chromium-review.googlesource.com/c/1448747
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Commit-Queue: danakj <danakj@chromium.org>
Auto-Submit: danakj <danakj@chromium.org>
Cr-Commit-Position: refs/heads/master@{#629248}
11 files changed