Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6458)

Unified Diff: cc/layers/layer_impl.cc

Issue 1973083002: Use element id's for animations (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: get element id's from scroll node data directly. Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);

Powered by Google App Engine
This is Rietveld 408576698