| Index: android_webview/browser/browser_view_renderer.cc
|
| diff --git a/android_webview/browser/browser_view_renderer.cc b/android_webview/browser/browser_view_renderer.cc
|
| index ea9d60312836a4a3c45dc9dd20850bf05028defd..24f0ce9a344af60c6d7b2d57a34f17663ce6514e 100644
|
| --- a/android_webview/browser/browser_view_renderer.cc
|
| +++ b/android_webview/browser/browser_view_renderer.cc
|
| @@ -216,6 +216,12 @@ bool BrowserViewRenderer::OnDrawHardware() {
|
| return false;
|
| }
|
|
|
| + if (last_on_draw_global_visible_rect_.IsEmpty()) {
|
| + // WebView could be offscreen. Need to make sure WebView invalidates when
|
| + // it is animated into the screen again.
|
| + shared_renderer_state_.SetForceInvalidateOnNextDrawGLOnUI(true);
|
| + }
|
| +
|
| ReturnResourceFromParent();
|
| if (shared_renderer_state_.HasCompositorFrameOnUI()) {
|
| TRACE_EVENT_INSTANT0("android_webview",
|
| @@ -262,13 +268,9 @@ scoped_ptr<cc::CompositorFrame> BrowserViewRenderer::CompositeHw() {
|
| }
|
| }
|
|
|
| - scoped_ptr<cc::CompositorFrame> frame =
|
| - compositor_->DemandDrawHw(surface_size,
|
| - gfx::Transform(),
|
| - viewport,
|
| - clip,
|
| - viewport_rect_for_tile_priority,
|
| - transform_for_tile_priority);
|
| + scoped_ptr<cc::CompositorFrame> frame = compositor_->DemandDrawHw(
|
| + surface_size, gfx::Transform(), viewport, clip,
|
| + viewport_rect_for_tile_priority, transform_for_tile_priority);
|
| if (frame.get())
|
| DidComposite();
|
| return frame.Pass();
|
|
|