Index: content/renderer/gpu/render_widget_compositor.cc |
diff --git a/content/renderer/gpu/render_widget_compositor.cc b/content/renderer/gpu/render_widget_compositor.cc |
index 3b49d4c7a9e1ef16b2e3ffdb958b036a9a1c320e..3952794173f7ddf425a37873fe459090c0dbf8e7 100644 |
--- a/content/renderer/gpu/render_widget_compositor.cc |
+++ b/content/renderer/gpu/render_widget_compositor.cc |
@@ -277,6 +277,13 @@ scoped_ptr<RenderWidgetCompositor> RenderWidgetCompositor::Create( |
!cmd->HasSwitch(cc::switches::kDisableCompositedAntialiasing); |
settings.single_thread_proxy_scheduler = |
!cmd->HasSwitch(switches::kDisableSingleThreadProxyScheduler); |
+ if (!threaded && !settings.single_thread_proxy_scheduler && |
+ settings.impl_side_painting) { |
+ // The synchronous composite path requires zero copy with impl-side |
+ // painting. |
+ settings.use_zero_copy = true; |
+ settings.scheduled_raster_task_limit = std::numeric_limits<size_t>::max(); |
+ } |
// These flags should be mirrored by UI versions in ui/compositor/. |
settings.initial_debug_state.show_debug_borders = |