| Index: content/browser/android/in_process/synchronous_compositor_output_surface.cc
|
| diff --git a/content/browser/android/in_process/synchronous_compositor_output_surface.cc b/content/browser/android/in_process/synchronous_compositor_output_surface.cc
|
| index 682c530dc3938d61d0557ddb5e439a1998102c00..59556ad894a191dd0bef8f95399947fe3892a0fd 100644
|
| --- a/content/browser/android/in_process/synchronous_compositor_output_surface.cc
|
| +++ b/content/browser/android/in_process/synchronous_compositor_output_surface.cc
|
| @@ -200,9 +200,15 @@ SynchronousCompositorOutputSurface::DemandDrawSw(SkCanvas* canvas) {
|
| surface_size_ = gfx::Size(canvas->getDeviceSize().width(),
|
| canvas->getDeviceSize().height());
|
|
|
| - // Resourceless software draw does not need viewport_for_tiling.
|
| - gfx::Rect empty;
|
| - InvokeComposite(transform, clip, clip, empty, gfx::Transform(), false);
|
| + // Pass in the cached hw viewport and transform for tile priority to avoid
|
| + // tile thrashing when the WebView is alternating between hardware and
|
| + // software draws.
|
| + InvokeComposite(transform,
|
| + clip,
|
| + clip,
|
| + cached_hw_viewport_rect_for_tile_priority_,
|
| + cached_hw_transform_for_tile_priority_,
|
| + false);
|
|
|
| return frame_holder_.Pass();
|
| }
|
|
|