Index: android_webview/browser/hardware_renderer.cc |
diff --git a/android_webview/browser/hardware_renderer.cc b/android_webview/browser/hardware_renderer.cc |
index 511969e34f0c029d7d4a0256d319e6e2023e4bc9..acd677221d7ca6221d7171c01fd674ea3b7b86de 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_.equals(draw_constraints)) { |
boliu
2014/07/29 19:02:41
Remember we are not looking for "equals" exactly.
hush (inactive)
2014/07/29 21:14:21
Yeah.
Why do we want to move this to the beginnin
|
+ draw_constraints_ = draw_constraints; |
+ shared_renderer_state_->PostExternalDrawConstraintsToChildCompositor( |
+ draw_constraints); |
+ } |
} |
scoped_ptr<cc::OutputSurface> HardwareRenderer::CreateOutputSurface( |