diff options
author | sunxd <sunxd@chromium.org> | 2016-01-27 16:12:33 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-01-28 00:14:45 +0000 |
commit | ea1df789e1afcf57a69769b4c4a1d9ef09d112ed (patch) | |
tree | d0faa83c94803701baacd06af91947d733d4be90 /cc/layers/layer.cc | |
parent | f999944b9fe2e1e55f125095663d145b4008b8b1 (diff) | |
download | chromium_src-ea1df789e1afcf57a69769b4c4a1d9ef09d112ed.zip chromium_src-ea1df789e1afcf57a69769b4c4a1d9ef09d112ed.tar.gz chromium_src-ea1df789e1afcf57a69769b4c4a1d9ef09d112ed.tar.bz2 |
Add ScrollTree builder and unit test
Remove ScrollBlocksOn from ScrollTree:
It will be moved from the code base soon, will work
to integrate the "passive event handler" if that
depends on layer tree hierarchy.
BUG=568830
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1626513003
Cr-Commit-Position: refs/heads/master@{#371914}
Diffstat (limited to 'cc/layers/layer.cc')
-rw-r--r-- | cc/layers/layer.cc | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/cc/layers/layer.cc b/cc/layers/layer.cc index b3dca99..e0ab0d8 100644 --- a/cc/layers/layer.cc +++ b/cc/layers/layer.cc @@ -64,6 +64,7 @@ Layer::Layer(const LayerSettings& settings) transform_tree_index_(-1), effect_tree_index_(-1), clip_tree_index_(-1), + scroll_tree_index_(-1), property_tree_sequence_number_(-1), element_id_(0), mutable_properties_(MutableProperty::kNone), @@ -1088,6 +1089,23 @@ int Layer::effect_tree_index() const { return effect_tree_index_; } +void Layer::SetScrollTreeIndex(int index) { + DCHECK(IsPropertyChangeAllowed()); + if (scroll_tree_index_ == index) + return; + scroll_tree_index_ = index; + SetNeedsPushProperties(); +} + +int Layer::scroll_tree_index() const { + if (!layer_tree_host_ || + layer_tree_host_->property_trees()->sequence_number != + property_tree_sequence_number_) { + return -1; + } + return scroll_tree_index_; +} + void Layer::InvalidatePropertyTreesIndices() { int invalid_property_tree_index = -1; SetTransformTreeIndex(invalid_property_tree_index); @@ -1201,6 +1219,7 @@ void Layer::PushPropertiesTo(LayerImpl* layer) { layer->SetTransformTreeIndex(transform_tree_index()); layer->SetEffectTreeIndex(effect_tree_index()); layer->SetClipTreeIndex(clip_tree_index()); + layer->SetScrollTreeIndex(scroll_tree_index()); layer->set_offset_to_transform_parent(offset_to_transform_parent_); layer->SetDoubleSided(double_sided_); layer->SetDrawsContent(DrawsContent()); @@ -1471,6 +1490,7 @@ void Layer::LayerSpecificPropertiesToProto(proto::LayerProperties* proto) { base->set_transform_free_index(transform_tree_index_); base->set_effect_tree_index(effect_tree_index_); base->set_clip_tree_index(clip_tree_index_); + base->set_scroll_tree_index(scroll_tree_index_); Vector2dFToProto(offset_to_transform_parent_, base->mutable_offset_to_transform_parent()); base->set_double_sided(double_sided_); @@ -1561,6 +1581,7 @@ void Layer::FromLayerSpecificPropertiesProto( transform_tree_index_ = base.transform_free_index(); effect_tree_index_ = base.effect_tree_index(); clip_tree_index_ = base.clip_tree_index(); + scroll_tree_index_ = base.scroll_tree_index(); offset_to_transform_parent_ = ProtoToVector2dF(base.offset_to_transform_parent()); double_sided_ = base.double_sided(); |