Index: android_webview/browser/hardware_renderer.cc |
diff --git a/android_webview/browser/hardware_renderer.cc b/android_webview/browser/hardware_renderer.cc |
index 4ed2859b1399038a5dd060058b0bfcd450158404..27bd9821befd6bee34ead6b23d241242fad13d4b 100644 |
--- a/android_webview/browser/hardware_renderer.cc |
+++ b/android_webview/browser/hardware_renderer.cc |
@@ -207,6 +207,17 @@ void HardwareRenderer::DrawGL(bool stencil_enabled, |
layer_tree_host_->Composite(gfx::FrameTime::Now()); |
} |
gl_surface_->ResetBackingFrameBufferObject(); |
+ |
+ // Need to post the new transform matrix back to child compositor |
+ // because there is no onDraw during a Render Thread animation, and child |
+ // compositor might not have the tiles rasterized as the animation goes on. |
+ ParentCompositorDrawConstraints draw_constraints( |
+ draw_info->is_layer, transform, gfx::Rect(viewport_)); |
+ if (draw_constraints_ != draw_constraints) { |
+ draw_constraints_ = draw_constraints; |
+ shared_renderer_state_->PostExternalDrawConstraintsToChildCompositor( |
+ draw_constraints); |
+ } |
} |
scoped_ptr<cc::OutputSurface> HardwareRenderer::CreateOutputSurface( |