Index: cc/layers/delegated_renderer_layer_impl.cc |
diff --git a/cc/layers/delegated_renderer_layer_impl.cc b/cc/layers/delegated_renderer_layer_impl.cc |
index e110ff7b67f82f49c986587c381a8b65f7237ce8..9d5e651e04ce6ec45febd794599a293a10d8148e 100644 |
--- a/cc/layers/delegated_renderer_layer_impl.cc |
+++ b/cc/layers/delegated_renderer_layer_impl.cc |
@@ -441,9 +441,9 @@ void DelegatedRendererLayerImpl::AppendRenderPassQuads( |
if (quad_visible_rect.IsEmpty()) |
continue; |
- scoped_ptr<DrawQuad> output_quad; |
if (delegated_quad->material != DrawQuad::RENDER_PASS) { |
- output_quad = delegated_quad->Copy(output_shared_quad_state); |
+ DrawQuad* output_quad = render_pass->CopyFromAndAppendDrawQuad( |
+ delegated_quad, output_shared_quad_state); |
output_quad->visible_rect = quad_visible_rect; |
} else { |
RenderPass::Id delegated_contributing_render_pass_id = |
@@ -460,15 +460,14 @@ void DelegatedRendererLayerImpl::AppendRenderPassQuads( |
DCHECK(output_contributing_render_pass_id != |
append_quads_data->render_pass_id); |
- output_quad = RenderPassDrawQuad::MaterialCast(delegated_quad)->Copy( |
- output_shared_quad_state, |
- output_contributing_render_pass_id).PassAs<DrawQuad>(); |
+ RenderPassDrawQuad* output_quad = |
+ render_pass->CopyFromAndAppendRenderPassDrawQuad( |
+ RenderPassDrawQuad::MaterialCast(delegated_quad), |
+ output_shared_quad_state, |
+ output_contributing_render_pass_id); |
output_quad->visible_rect = quad_visible_rect; |
} |
} |
- |
- if (output_quad) |
- render_pass->quad_list.push_back(output_quad.Pass()); |
} |
} |