| Index: cc/trees/draw_property_utils.cc
|
| diff --git a/cc/trees/draw_property_utils.cc b/cc/trees/draw_property_utils.cc
|
| index 10e37f4beab38e4c23003a0dba15c8897ec3435f..175c33415100440aa966860f8d6a576a48d6f30e 100644
|
| --- a/cc/trees/draw_property_utils.cc
|
| +++ b/cc/trees/draw_property_utils.cc
|
| @@ -587,6 +587,24 @@ gfx::Transform DrawTransformFromPropertyTrees(const LayerImpl* layer,
|
| return DrawTransformFromPropertyTreesInternal(layer, tree);
|
| }
|
|
|
| +gfx::Transform DrawTransformOfRenderSurfaceFromPropertyTrees(
|
| + const RenderSurfaceImpl* render_surface,
|
| + const TransformTree& tree) {
|
| + const TransformNode* node = tree.Node(render_surface->TransformTreeIndex());
|
| + gfx::Transform render_surface_transform;
|
| + // The draw transform of root render surface is identity tranform.
|
| + if (node->id == 1)
|
| + return render_surface_transform;
|
| + const TransformNode* target_node = tree.Node(node->data.target_id);
|
| + if (target_node->id == 1)
|
| + target_node = tree.Node(0);
|
| + tree.ComputeTransformWithDestinationSublayerScale(node->id, target_node->id,
|
| + &render_surface_transform);
|
| + render_surface_transform.Scale(1.0 / node->data.sublayer_scale.x(),
|
| + 1.0 / node->data.sublayer_scale.y());
|
| + return render_surface_transform;
|
| +}
|
| +
|
| template <typename LayerType>
|
| gfx::Transform ScreenSpaceTransformFromPropertyTreesInternal(
|
| LayerType* layer,
|
|
|