Index: cc/layers/layer_impl.cc |
diff --git a/cc/layers/layer_impl.cc b/cc/layers/layer_impl.cc |
index c0badc3bd70ab98621bc2eec3dbb1ba0c42fdaef..65d9ce98b770948048ebec21f119ad3713c50d37 100644 |
--- a/cc/layers/layer_impl.cc |
+++ b/cc/layers/layer_impl.cc |
@@ -949,16 +949,25 @@ bool LayerImpl::HasPotentiallyRunningOpacityAnimation() const { |
return layer_tree_impl_->HasPotentiallyRunningOpacityAnimation(this); |
} |
-void LayerImpl::SetElementId(uint64_t element_id) { |
+void LayerImpl::SetElementId(ElementId element_id) { |
if (element_id == element_id_) |
return; |
TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("compositor-worker"), |
- "LayerImpl::SetElementId", "id", element_id); |
+ "LayerImpl::SetElementId", "element", |
+ element_id.AsValue().release()); |
layer_tree_impl_->RemoveFromElementMap(this); |
element_id_ = element_id; |
layer_tree_impl_->AddToElementMap(this); |
+ |
+ PropertyTrees* property_trees = layer_tree_impl()->property_trees(); |
+ if (property_trees->IsInIdToIndexMap(PropertyTrees::TreeType::SCROLL, id())) { |
+ ScrollNode* node = property_trees->scroll_tree.Node( |
+ property_trees->scroll_id_to_index_map[id()]); |
+ node->data.element_id = element_id_; |
+ } |
ajuma
2016/06/01 23:53:42
The property trees pushed from the main thread wil
Ian Vollick
2016/06/02 19:03:11
You're right. The problem was that I'd called SetE
|
+ |
SetNeedsPushProperties(); |
} |
@@ -1149,10 +1158,11 @@ void LayerImpl::AsValueInto(base::trace_event::TracedValue* state) const { |
state->SetInteger("gpu_memory_usage", |
base::saturated_cast<int>(GPUMemoryUsageInBytes())); |
- if (mutable_properties_ != MutableProperty::kNone) { |
- state->SetInteger("element_id", base::saturated_cast<int>(element_id_)); |
+ if (element_id_) |
+ element_id_.AddToTracedValue(state); |
+ |
+ if (mutable_properties_ != MutableProperty::kNone) |
state->SetInteger("mutable_properties", mutable_properties_); |
- } |
MathUtil::AddToTracedValue("scroll_offset", CurrentScrollOffset(), state); |