Index: cc/trees/clip_node.cc |
diff --git a/cc/trees/clip_node.cc b/cc/trees/clip_node.cc |
index b7d8164381cc91c9e414eaef3c5aaac77dc0d93e..b49263d5a332086920137f9c24b180067dea5dbf 100644 |
--- a/cc/trees/clip_node.cc |
+++ b/cc/trees/clip_node.cc |
@@ -4,6 +4,7 @@ |
#include "base/trace_event/trace_event_argument.h" |
#include "cc/base/math_util.h" |
+#include "cc/proto/cc_conversions.h" |
#include "cc/proto/gfx_conversions.h" |
#include "cc/proto/property_tree.pb.h" |
#include "cc/trees/clip_node.h" |
@@ -14,10 +15,10 @@ ClipNode::ClipNode() |
: id(-1), |
parent_id(-1), |
owner_id(-1), |
+ clip_type(ClipType::NONE), |
transform_id(-1), |
target_transform_id(-1), |
target_effect_id(-1), |
- applies_local_clip(true), |
layer_clipping_uses_only_local_clip(false), |
target_is_clipped(false), |
layers_are_clipped(false), |
@@ -28,13 +29,13 @@ ClipNode::ClipNode(const ClipNode& other) = default; |
bool ClipNode::operator==(const ClipNode& other) const { |
return id == other.id && parent_id == other.parent_id && |
- owner_id == other.owner_id && clip == other.clip && |
+ owner_id == other.owner_id && clip_type == other.clip_type && |
+ clip == other.clip && |
combined_clip_in_target_space == other.combined_clip_in_target_space && |
clip_in_target_space == other.clip_in_target_space && |
transform_id == other.transform_id && |
target_transform_id == other.target_transform_id && |
target_effect_id == other.target_effect_id && |
- applies_local_clip == other.applies_local_clip && |
layer_clipping_uses_only_local_clip == |
other.layer_clipping_uses_only_local_clip && |
target_is_clipped == other.target_is_clipped && |
@@ -52,6 +53,8 @@ void ClipNode::ToProtobuf(proto::TreeNode* proto) const { |
DCHECK(!proto->has_clip_node_data()); |
proto::ClipNodeData* data = proto->mutable_clip_node_data(); |
+ data->set_clip_type(ClipNodeTypeToProto(clip_type)); |
+ |
RectFToProto(clip, data->mutable_clip()); |
RectFToProto(combined_clip_in_target_space, |
data->mutable_combined_clip_in_target_space()); |
@@ -60,7 +63,6 @@ void ClipNode::ToProtobuf(proto::TreeNode* proto) const { |
data->set_transform_id(transform_id); |
data->set_target_transform_id(target_transform_id); |
data->set_target_effect_id(target_effect_id); |
- data->set_applies_local_clip(applies_local_clip); |
data->set_layer_clipping_uses_only_local_clip( |
layer_clipping_uses_only_local_clip); |
data->set_target_is_clipped(target_is_clipped); |
@@ -78,6 +80,7 @@ void ClipNode::FromProtobuf(const proto::TreeNode& proto) { |
DCHECK(proto.has_clip_node_data()); |
const proto::ClipNodeData& data = proto.clip_node_data(); |
+ clip_type = ClipNodeTypeFromProto(data.clip_type()); |
clip = ProtoToRectF(data.clip()); |
combined_clip_in_target_space = |
ProtoToRectF(data.combined_clip_in_target_space()); |
@@ -86,7 +89,6 @@ void ClipNode::FromProtobuf(const proto::TreeNode& proto) { |
transform_id = data.transform_id(); |
target_transform_id = data.target_transform_id(); |
target_effect_id = data.target_effect_id(); |
- applies_local_clip = data.applies_local_clip(); |
layer_clipping_uses_only_local_clip = |
data.layer_clipping_uses_only_local_clip(); |
target_is_clipped = data.target_is_clipped(); |
@@ -100,11 +102,11 @@ void ClipNode::AsValueInto(base::trace_event::TracedValue* value) const { |
value->SetInteger("id", id); |
value->SetInteger("parent_id", parent_id); |
value->SetInteger("owner_id", owner_id); |
+ value->SetInteger("clip_type", static_cast<int>(clip_type)); |
MathUtil::AddToTracedValue("clip", clip, value); |
value->SetInteger("transform_id", transform_id); |
value->SetInteger("target_transform_id", target_transform_id); |
value->SetInteger("target_effect_id", target_effect_id); |
- value->SetBoolean("applies_local_clip", applies_local_clip); |
value->SetBoolean("layer_clipping_uses_only_local_clip", |
layer_clipping_uses_only_local_clip); |
value->SetBoolean("target_is_clipped", target_is_clipped); |