| 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()) {
|
| + 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;
|
|
|
|
|