Index: cc/trees/property_tree.cc |
diff --git a/cc/trees/property_tree.cc b/cc/trees/property_tree.cc |
index 1d9dde24e1fcc20c955424b8a3847b98019cc080..2969a69be96fdafeb45accc25a2e851446d32b65 100644 |
--- a/cc/trees/property_tree.cc |
+++ b/cc/trees/property_tree.cc |
@@ -13,8 +13,6 @@ |
#include "cc/layers/layer_impl.h" |
#include "cc/output/copy_output_request.h" |
#include "cc/proto/gfx_conversions.h" |
-#include "cc/proto/property_tree.pb.h" |
-#include "cc/proto/synced_property_conversions.h" |
#include "cc/trees/clip_node.h" |
#include "cc/trees/effect_node.h" |
#include "cc/trees/layer_tree_host_common.h" |
@@ -86,37 +84,6 @@ bool PropertyTree<T>::operator==(const PropertyTree<T>& other) const { |
} |
template <typename T> |
-void PropertyTree<T>::ToProtobuf(proto::PropertyTree* proto) const { |
- DCHECK_EQ(0, proto->nodes_size()); |
- for (const auto& node : nodes_) |
- node.ToProtobuf(proto->add_nodes()); |
- proto->set_needs_update(needs_update_); |
-} |
- |
-template <typename T> |
-void PropertyTree<T>::FromProtobuf( |
- const proto::PropertyTree& proto, |
- std::unordered_map<int, int>* node_id_to_index_map) { |
- // Verify that the property tree is empty. |
- DCHECK_EQ(static_cast<int>(nodes_.size()), 1); |
- DCHECK_EQ(back()->id, kRootNodeId); |
- DCHECK_EQ(back()->parent_id, kInvalidNodeId); |
- |
- // Add the first node. |
- DCHECK_GT(proto.nodes_size(), 0); |
- nodes_.back().FromProtobuf(proto.nodes(0)); |
- |
- DCHECK(!node_id_to_index_map || (*node_id_to_index_map).empty()); |
- for (int i = 1; i < proto.nodes_size(); ++i) { |
- nodes_.push_back(T()); |
- nodes_.back().FromProtobuf(proto.nodes(i)); |
- (*node_id_to_index_map)[nodes_.back().owner_id] = nodes_.back().id; |
- } |
- |
- needs_update_ = proto.needs_update(); |
-} |
- |
-template <typename T> |
void PropertyTree<T>::AsValueInto(base::trace_event::TracedValue* value) const { |
value->BeginArray("nodes"); |
for (const auto& node : nodes_) { |
@@ -132,20 +99,6 @@ template class PropertyTree<ClipNode>; |
template class PropertyTree<EffectNode>; |
template class PropertyTree<ScrollNode>; |
-void StickyPositionNodeData::ToProtobuf( |
- proto::StickyPositionNodeData* proto) const { |
- proto->set_scroll_ancestor(scroll_ancestor); |
- constraints.ToProtobuf(proto->mutable_constraints()); |
- Vector2dFToProto(main_thread_offset, proto->mutable_main_thread_offset()); |
-} |
- |
-void StickyPositionNodeData::FromProtobuf( |
- const proto::StickyPositionNodeData& proto) { |
- scroll_ancestor = proto.scroll_ancestor(); |
- constraints.FromProtobuf(proto.constraints()); |
- main_thread_offset = ProtoToVector2dF(proto.main_thread_offset()); |
-} |
- |
int TransformTree::Insert(const TransformNode& tree_node, int parent_id) { |
int node_id = PropertyTree<TransformNode>::Insert(tree_node, parent_id); |
DCHECK_EQ(node_id, static_cast<int>(cached_data_.size())); |
@@ -793,73 +746,6 @@ StickyPositionNodeData* TransformTree::StickyPositionData(int node_id) { |
return &sticky_position_data_[node->sticky_position_constraint_id]; |
} |
-void TransformTree::ToProtobuf(proto::PropertyTree* proto) const { |
- DCHECK(!proto->has_property_type()); |
- proto->set_property_type(proto::PropertyTree::Transform); |
- |
- PropertyTree::ToProtobuf(proto); |
- proto::TransformTreeData* data = proto->mutable_transform_tree_data(); |
- |
- data->set_source_to_parent_updates_allowed(source_to_parent_updates_allowed_); |
- data->set_page_scale_factor(page_scale_factor_); |
- data->set_device_scale_factor(device_scale_factor_); |
- data->set_device_transform_scale_factor(device_transform_scale_factor_); |
- |
- for (auto i : nodes_affected_by_inner_viewport_bounds_delta_) |
- data->add_nodes_affected_by_inner_viewport_bounds_delta(i); |
- |
- for (auto i : nodes_affected_by_outer_viewport_bounds_delta_) |
- data->add_nodes_affected_by_outer_viewport_bounds_delta(i); |
- |
- for (int i = 0; i < static_cast<int>(cached_data_.size()); ++i) |
- cached_data_[i].ToProtobuf(data->add_cached_data()); |
- |
- for (int i = 0; i < static_cast<int>(sticky_position_data_.size()); ++i) |
- sticky_position_data_[i].ToProtobuf(data->add_sticky_position_data()); |
-} |
- |
-void TransformTree::FromProtobuf( |
- const proto::PropertyTree& proto, |
- std::unordered_map<int, int>* node_id_to_index_map) { |
- DCHECK(proto.has_property_type()); |
- DCHECK_EQ(proto.property_type(), proto::PropertyTree::Transform); |
- |
- PropertyTree::FromProtobuf(proto, node_id_to_index_map); |
- const proto::TransformTreeData& data = proto.transform_tree_data(); |
- |
- source_to_parent_updates_allowed_ = data.source_to_parent_updates_allowed(); |
- page_scale_factor_ = data.page_scale_factor(); |
- device_scale_factor_ = data.device_scale_factor(); |
- device_transform_scale_factor_ = data.device_transform_scale_factor(); |
- |
- DCHECK(nodes_affected_by_inner_viewport_bounds_delta_.empty()); |
- for (int i = 0; i < data.nodes_affected_by_inner_viewport_bounds_delta_size(); |
- ++i) { |
- nodes_affected_by_inner_viewport_bounds_delta_.push_back( |
- data.nodes_affected_by_inner_viewport_bounds_delta(i)); |
- } |
- |
- DCHECK(nodes_affected_by_outer_viewport_bounds_delta_.empty()); |
- for (int i = 0; i < data.nodes_affected_by_outer_viewport_bounds_delta_size(); |
- ++i) { |
- nodes_affected_by_outer_viewport_bounds_delta_.push_back( |
- data.nodes_affected_by_outer_viewport_bounds_delta(i)); |
- } |
- |
- DCHECK_EQ(static_cast<int>(cached_data_.size()), 1); |
- cached_data_.back().FromProtobuf(data.cached_data(0)); |
- for (int i = 1; i < data.cached_data_size(); ++i) { |
- cached_data_.push_back(TransformCachedNodeData()); |
- cached_data_.back().FromProtobuf(data.cached_data(i)); |
- } |
- |
- DCHECK(static_cast<int>(sticky_position_data_.empty())); |
- for (int i = 0; i < data.sticky_position_data_size(); ++i) { |
- sticky_position_data_.push_back(StickyPositionNodeData()); |
- sticky_position_data_.back().FromProtobuf(data.sticky_position_data(i)); |
- } |
-} |
- |
EffectTree::EffectTree() {} |
EffectTree::~EffectTree() {} |
@@ -1133,22 +1019,6 @@ bool ClipTree::operator==(const ClipTree& other) const { |
return PropertyTree::operator==(other); |
} |
-void ClipTree::ToProtobuf(proto::PropertyTree* proto) const { |
- DCHECK(!proto->has_property_type()); |
- proto->set_property_type(proto::PropertyTree::Clip); |
- |
- PropertyTree::ToProtobuf(proto); |
-} |
- |
-void ClipTree::FromProtobuf( |
- const proto::PropertyTree& proto, |
- std::unordered_map<int, int>* node_id_to_index_map) { |
- DCHECK(proto.has_property_type()); |
- DCHECK_EQ(proto.property_type(), proto::PropertyTree::Clip); |
- |
- PropertyTree::FromProtobuf(proto, node_id_to_index_map); |
-} |
- |
EffectTree& EffectTree::operator=(const EffectTree& from) { |
PropertyTree::operator=(from); |
mask_layer_ids_ = from.mask_layer_ids_; |
@@ -1162,32 +1032,6 @@ bool EffectTree::operator==(const EffectTree& other) const { |
mask_layer_ids_ == other.mask_layer_ids_; |
} |
-void EffectTree::ToProtobuf(proto::PropertyTree* proto) const { |
- DCHECK(!proto->has_property_type()); |
- proto->set_property_type(proto::PropertyTree::Effect); |
- |
- PropertyTree::ToProtobuf(proto); |
- proto::EffectTreeData* data = proto->mutable_effect_tree_data(); |
- |
- for (auto i : mask_layer_ids_) |
- data->add_mask_layer_ids(i); |
-} |
- |
-void EffectTree::FromProtobuf( |
- const proto::PropertyTree& proto, |
- std::unordered_map<int, int>* node_id_to_index_map) { |
- DCHECK(proto.has_property_type()); |
- DCHECK_EQ(proto.property_type(), proto::PropertyTree::Effect); |
- |
- PropertyTree::FromProtobuf(proto, node_id_to_index_map); |
- const proto::EffectTreeData& data = proto.effect_tree_data(); |
- |
- DCHECK(mask_layer_ids_.empty()); |
- for (int i = 0; i < data.mask_layer_ids_size(); ++i) { |
- mask_layer_ids_.push_back(data.mask_layer_ids(i)); |
- } |
-} |
- |
ScrollTree::ScrollTree() |
: currently_scrolling_node_id_(kInvalidNodeId), |
layer_id_to_scroll_offset_map_(ScrollTree::ScrollOffsetMap()) {} |
@@ -1226,48 +1070,6 @@ bool ScrollTree::operator==(const ScrollTree& other) const { |
return PropertyTree::operator==(other) && is_currently_scrolling_node_equal; |
} |
-void ScrollTree::ToProtobuf(proto::PropertyTree* proto) const { |
- DCHECK(!proto->has_property_type()); |
- proto->set_property_type(proto::PropertyTree::Scroll); |
- |
- PropertyTree::ToProtobuf(proto); |
- proto::ScrollTreeData* data = proto->mutable_scroll_tree_data(); |
- |
- data->set_currently_scrolling_node_id(currently_scrolling_node_id_); |
- for (auto i : layer_id_to_scroll_offset_map_) { |
- data->add_layer_id_to_scroll_offset_map(); |
- proto::ScrollOffsetMapEntry* entry = |
- data->mutable_layer_id_to_scroll_offset_map( |
- data->layer_id_to_scroll_offset_map_size() - 1); |
- entry->set_layer_id(i.first); |
- SyncedScrollOffsetToProto(*i.second.get(), entry->mutable_scroll_offset()); |
- } |
-} |
- |
-void ScrollTree::FromProtobuf( |
- const proto::PropertyTree& proto, |
- std::unordered_map<int, int>* node_id_to_index_map) { |
- DCHECK(proto.has_property_type()); |
- DCHECK_EQ(proto.property_type(), proto::PropertyTree::Scroll); |
- |
- PropertyTree::FromProtobuf(proto, node_id_to_index_map); |
- const proto::ScrollTreeData& data = proto.scroll_tree_data(); |
- |
- currently_scrolling_node_id_ = data.currently_scrolling_node_id(); |
- |
- // TODO(khushalsagar): This should probably be removed if the copy constructor |
- // for ScrollTree copies the |layer_id_to_scroll_offset_map_| as well. |
- layer_id_to_scroll_offset_map_.clear(); |
- for (int i = 0; i < data.layer_id_to_scroll_offset_map_size(); ++i) { |
- const proto::ScrollOffsetMapEntry entry = |
- data.layer_id_to_scroll_offset_map(i); |
- layer_id_to_scroll_offset_map_[entry.layer_id()] = new SyncedScrollOffset(); |
- ProtoToSyncedScrollOffset( |
- entry.scroll_offset(), |
- layer_id_to_scroll_offset_map_[entry.layer_id()].get()); |
- } |
-} |
- |
void ScrollTree::clear() { |
PropertyTree<ScrollNode>::clear(); |
@@ -1703,52 +1505,6 @@ PropertyTrees& PropertyTrees::operator=(const PropertyTrees& from) { |
return *this; |
} |
-void PropertyTrees::ToProtobuf(proto::PropertyTrees* proto) const { |
- // TODO(khushalsagar): Add support for sending diffs when serializaing |
- // property trees. See crbug/555370. |
- transform_tree.ToProtobuf(proto->mutable_transform_tree()); |
- effect_tree.ToProtobuf(proto->mutable_effect_tree()); |
- clip_tree.ToProtobuf(proto->mutable_clip_tree()); |
- scroll_tree.ToProtobuf(proto->mutable_scroll_tree()); |
- proto->set_needs_rebuild(needs_rebuild); |
- proto->set_changed(changed); |
- proto->set_full_tree_damaged(full_tree_damaged); |
- proto->set_non_root_surfaces_enabled(non_root_surfaces_enabled); |
- proto->set_is_main_thread(is_main_thread); |
- proto->set_is_active(is_active); |
- |
- // TODO(khushalsagar): Consider using the sequence number to decide if |
- // property trees need to be serialized again for a commit. See crbug/555370. |
- proto->set_sequence_number(sequence_number); |
- |
- for (auto i : always_use_active_tree_opacity_effect_ids) |
- proto->add_always_use_active_tree_opacity_effect_ids(i); |
-} |
- |
-// static |
-void PropertyTrees::FromProtobuf(const proto::PropertyTrees& proto) { |
- transform_tree.FromProtobuf(proto.transform_tree(), |
- &transform_id_to_index_map); |
- effect_tree.FromProtobuf(proto.effect_tree(), &effect_id_to_index_map); |
- clip_tree.FromProtobuf(proto.clip_tree(), &clip_id_to_index_map); |
- scroll_tree.FromProtobuf(proto.scroll_tree(), &scroll_id_to_index_map); |
- |
- needs_rebuild = proto.needs_rebuild(); |
- changed = proto.changed(); |
- full_tree_damaged = proto.full_tree_damaged(); |
- non_root_surfaces_enabled = proto.non_root_surfaces_enabled(); |
- sequence_number = proto.sequence_number(); |
- is_main_thread = proto.is_main_thread(); |
- is_active = proto.is_active(); |
- |
- transform_tree.SetPropertyTrees(this); |
- effect_tree.SetPropertyTrees(this); |
- clip_tree.SetPropertyTrees(this); |
- scroll_tree.SetPropertyTrees(this); |
- for (auto i : proto.always_use_active_tree_opacity_effect_ids()) |
- always_use_active_tree_opacity_effect_ids.push_back(i); |
-} |
- |
void PropertyTrees::clear() { |
transform_tree.clear(); |
clip_tree.clear(); |