Chromium Code Reviews| 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 fd00b6be6b701a1c054c305d7ccadf9ae3f1890b..cd315c1e4eed3bc2d4c1aa8de415bd9be15cec26 100644 |
| --- a/android_webview/browser/browser_view_renderer.cc |
| +++ b/android_webview/browser/browser_view_renderer.cc |
| @@ -258,14 +258,19 @@ bool BrowserViewRenderer::OnDrawHardware(jobject java_canvas) { |
| draw_gl_input->width = width_; |
| draw_gl_input->height = height_; |
| - gfx::Transform transform; |
| gfx::Size surface_size(width_, height_); |
| gfx::Rect viewport(surface_size); |
| - // TODO(boliu): Should really be |last_on_draw_global_visible_rect_|. |
| - // See crbug.com/372073. |
| + |
| gfx::Rect clip = viewport; |
| + |
| + if (shared_renderer_state_->IsParentDrawConstraintsDirty()) { |
|
boliu
2014/07/16 17:25:10
Don't bother with dirty. Copying 16 floats isn't t
hush (inactive)
2014/07/16 20:45:32
Done.
|
| + parent_transform_ = shared_renderer_state_->ParentTransform(); |
| + parent_clip_ = shared_renderer_state_->ParentClip(); |
| + shared_renderer_state_->SetParentDrawConstraintsDirty(false); |
| + } |
| + |
| scoped_ptr<cc::CompositorFrame> frame = compositor_->DemandDrawHw( |
| - surface_size, transform, viewport, clip); |
| + surface_size, parent_transform_, viewport, clip, parent_clip_); |
| if (!frame.get()) |
| return false; |