| Index: android_webview/browser/in_process_view_renderer.cc
|
| diff --git a/android_webview/browser/in_process_view_renderer.cc b/android_webview/browser/in_process_view_renderer.cc
|
| index bcf2ca4666e5eb25e65a9907139231f859372c39..7964cfd202051861f68f243ecbe9e4f02d156f59 100644
|
| --- a/android_webview/browser/in_process_view_renderer.cc
|
| +++ b/android_webview/browser/in_process_view_renderer.cc
|
| @@ -387,15 +387,20 @@ void InProcessViewRenderer::DrawGL(AwDrawGLInfo* draw_info) {
|
| // Assume we always draw the full visible rect if we are drawing into a layer.
|
| bool drew_full_visible_rect = true;
|
|
|
| + gfx::Rect viewport_rect;
|
| if (!draw_info->is_layer) {
|
| - clip_rect.Intersect(cached_global_visible_rect_);
|
| - drew_full_visible_rect = clip_rect.Contains(cached_global_visible_rect_);
|
| + viewport_rect = cached_global_visible_rect_;
|
| + clip_rect.Intersect(viewport_rect);
|
| + drew_full_visible_rect = clip_rect.Contains(viewport_rect);
|
| + } else {
|
| + viewport_rect = clip_rect;
|
| }
|
|
|
| block_invalidates_ = true;
|
| // TODO(joth): Check return value.
|
| compositor_->DemandDrawHw(gfx::Size(draw_info->width, draw_info->height),
|
| transform,
|
| + viewport_rect,
|
| clip_rect,
|
| state_restore.stencil_enabled());
|
| block_invalidates_ = false;
|
|
|