| 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..8c6a19e301ca4c9fb279ccf31e9a6fd91ef00cac 100644
|
| --- a/android_webview/browser/browser_view_renderer.cc
|
| +++ b/android_webview/browser/browser_view_renderer.cc
|
| @@ -216,12 +216,22 @@ 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",
|
| "EarlyOut_PreviousFrameUnconsumed",
|
| TRACE_EVENT_SCOPE_THREAD);
|
| DidSkipCompositeInDraw();
|
| + // Added to pass the browser view renderer unit test. Irrelevant after this
|
| + // blocking pipeline is removed.
|
| + parent_draw_constraints_ =
|
| + shared_renderer_state_.GetParentDrawConstraintsOnUI();
|
| return true;
|
| }
|
|
|
| @@ -262,13 +272,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();
|
|
|