Store and set stale frame content screenshot when the frame is evicted

This patch captures the web content surface as a texture and displays
it on the RenderWidgetHostView until a new compositor frame is submitted
by the viz client. This allows the browser to display stale content
instead of a white solid color during animations.

The decision to show stale content or a solid color is done by the
WebContentsDelegate associated with the RenderWidgetHostView and its
DelegatedFrameHost. For this patch, the default is to show a solid
color on frame eviction. In the case of a tabbed browser, the Browser
(which implements the WebContentsDelegate) chooses to show stale content
if the frame being evicted is from an active tab.

Bug: 897826
Change-Id: I3346f3dec79780d107d2c96b4382886690a69570
Component: RenderWidgetHostViewAura, DelegatedFrameHost, ui layer
Reviewed-by: Sadrul Chowdhury <>
Reviewed-by: Scott Violet <>
Reviewed-by: danakj <>
Reviewed-by: Saman Sami <>
Reviewed-by: Fran├žois Doray <>
Commit-Queue: Malay Keshav <>
Cr-Commit-Position: refs/heads/master@{#622255}
23 files changed