Index: services/gfx/compositor/graph/scene_def.cc |
diff --git a/services/gfx/compositor/graph/scene_def.cc b/services/gfx/compositor/graph/scene_def.cc |
index abff1e745075cec9bb245a354153daa79d827864..95cc5a30be6fc7674d13545b3692bbb5668f49b2 100644 |
--- a/services/gfx/compositor/graph/scene_def.cc |
+++ b/services/gfx/compositor/graph/scene_def.cc |
@@ -11,7 +11,9 @@ |
#include "base/message_loop/message_loop.h" |
#include "base/strings/stringprintf.h" |
#include "mojo/services/gfx/composition/cpp/formatting.h" |
+#include "mojo/skia/type_converters.h" |
#include "services/gfx/compositor/graph/scene_content.h" |
+#include "services/gfx/compositor/graph/transform_pair.h" |
#include "services/gfx/compositor/render/render_image.h" |
namespace compositor { |
@@ -221,7 +223,11 @@ scoped_refptr<const NodeDef> SceneDef::CreateNode( |
std::ostream& err) { |
DCHECK(node_decl); |
- mojo::TransformPtr content_transform = node_decl->content_transform.Pass(); |
+ std::unique_ptr<TransformPair> content_transform; |
+ if (node_decl->content_transform) { |
+ content_transform.reset( |
+ new TransformPair(node_decl->content_transform.To<SkMatrix44>())); |
+ } |
mojo::RectFPtr content_clip = node_decl->content_clip.Pass(); |
mojo::gfx::composition::HitTestBehaviorPtr hit_test_behavior = |
node_decl->hit_test_behavior.Pass(); |
@@ -231,8 +237,9 @@ scoped_refptr<const NodeDef> SceneDef::CreateNode( |
node_decl->child_node_ids.storage(); |
if (!node_decl->op) { |
- return new NodeDef(node_id, content_transform.Pass(), content_clip.Pass(), |
- hit_test_behavior.Pass(), combinator, child_node_ids); |
+ return new NodeDef(node_id, std::move(content_transform), |
+ content_clip.Pass(), hit_test_behavior.Pass(), |
+ combinator, child_node_ids); |
} |
if (node_decl->op->is_rect()) { |
@@ -242,7 +249,7 @@ scoped_refptr<const NodeDef> SceneDef::CreateNode( |
const mojo::RectF& content_rect = *rect_node_decl->content_rect; |
const mojo::gfx::composition::Color& color = *rect_node_decl->color; |
- return new RectNodeDef(node_id, content_transform.Pass(), |
+ return new RectNodeDef(node_id, std::move(content_transform), |
content_clip.Pass(), hit_test_behavior.Pass(), |
combinator, child_node_ids, content_rect, color); |
} |
@@ -255,7 +262,7 @@ scoped_refptr<const NodeDef> SceneDef::CreateNode( |
mojo::RectFPtr image_rect = image_node_decl->image_rect.Pass(); |
const uint32 image_resource_id = image_node_decl->image_resource_id; |
mojo::gfx::composition::BlendPtr blend = image_node_decl->blend.Pass(); |
- return new ImageNodeDef(node_id, content_transform.Pass(), |
+ return new ImageNodeDef(node_id, std::move(content_transform), |
content_clip.Pass(), hit_test_behavior.Pass(), |
combinator, child_node_ids, content_rect, |
image_rect.Pass(), image_resource_id, blend.Pass()); |
@@ -266,7 +273,7 @@ scoped_refptr<const NodeDef> SceneDef::CreateNode( |
const uint32_t scene_resource_id = scene_node_decl->scene_resource_id; |
const uint32_t scene_version = scene_node_decl->scene_version; |
- return new SceneNodeDef(node_id, content_transform.Pass(), |
+ return new SceneNodeDef(node_id, std::move(content_transform), |
content_clip.Pass(), hit_test_behavior.Pass(), |
combinator, child_node_ids, scene_resource_id, |
scene_version); |
@@ -278,7 +285,7 @@ scoped_refptr<const NodeDef> SceneDef::CreateNode( |
const mojo::RectF& layer_rect = *layer_node_decl->layer_rect; |
mojo::gfx::composition::BlendPtr blend = layer_node_decl->blend.Pass(); |
- return new LayerNodeDef(node_id, content_transform.Pass(), |
+ return new LayerNodeDef(node_id, std::move(content_transform), |
content_clip.Pass(), hit_test_behavior.Pass(), |
combinator, child_node_ids, layer_rect, |
blend.Pass()); |