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

Side by Side 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: rebase Created 4 years, 5 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 unified diff | Download patch
« no previous file with comments | « cc/layers/layer_impl.h ('k') | cc/layers/layer_impl_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/layers/layer_impl.h" 5 #include "cc/layers/layer_impl.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 background_color_(0), 65 background_color_(0),
66 safe_opaque_background_color_(0), 66 safe_opaque_background_color_(0),
67 blend_mode_(SkXfermode::kSrcOver_Mode), 67 blend_mode_(SkXfermode::kSrcOver_Mode),
68 draw_blend_mode_(SkXfermode::kSrcOver_Mode), 68 draw_blend_mode_(SkXfermode::kSrcOver_Mode),
69 transform_tree_index_(-1), 69 transform_tree_index_(-1),
70 effect_tree_index_(-1), 70 effect_tree_index_(-1),
71 clip_tree_index_(-1), 71 clip_tree_index_(-1),
72 scroll_tree_index_(-1), 72 scroll_tree_index_(-1),
73 sorting_context_id_(0), 73 sorting_context_id_(0),
74 current_draw_mode_(DRAW_MODE_NONE), 74 current_draw_mode_(DRAW_MODE_NONE),
75 element_id_(0),
76 mutable_properties_(MutableProperty::kNone), 75 mutable_properties_(MutableProperty::kNone),
77 debug_info_(nullptr), 76 debug_info_(nullptr),
78 scrolls_drawn_descendant_(false), 77 scrolls_drawn_descendant_(false),
79 has_will_change_transform_hint_(false), 78 has_will_change_transform_hint_(false),
80 needs_push_properties_(false) { 79 needs_push_properties_(false) {
81 DCHECK_GT(layer_id_, 0); 80 DCHECK_GT(layer_id_, 0);
82 81
83 DCHECK(layer_tree_impl_); 82 DCHECK(layer_tree_impl_);
84 layer_tree_impl_->RegisterLayer(this); 83 layer_tree_impl_->RegisterLayer(this);
85 layer_tree_impl_->AddToElementMap(this); 84 layer_tree_impl_->AddToElementMap(this);
(...skipping 722 matching lines...) Expand 10 before | Expand all | Expand 10 after
808 } 807 }
809 808
810 bool LayerImpl::OpacityIsAnimating() const { 809 bool LayerImpl::OpacityIsAnimating() const {
811 return layer_tree_impl_->IsAnimatingOpacityProperty(this); 810 return layer_tree_impl_->IsAnimatingOpacityProperty(this);
812 } 811 }
813 812
814 bool LayerImpl::HasPotentiallyRunningOpacityAnimation() const { 813 bool LayerImpl::HasPotentiallyRunningOpacityAnimation() const {
815 return layer_tree_impl_->HasPotentiallyRunningOpacityAnimation(this); 814 return layer_tree_impl_->HasPotentiallyRunningOpacityAnimation(this);
816 } 815 }
817 816
818 void LayerImpl::SetElementId(uint64_t element_id) { 817 void LayerImpl::SetElementId(ElementId element_id) {
819 if (element_id == element_id_) 818 if (element_id == element_id_)
820 return; 819 return;
821 820
822 TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("compositor-worker"), 821 TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("compositor-worker"),
823 "LayerImpl::SetElementId", "id", element_id); 822 "LayerImpl::SetElementId", "element",
823 element_id.AsValue().release());
824 824
825 layer_tree_impl_->RemoveFromElementMap(this); 825 layer_tree_impl_->RemoveFromElementMap(this);
826 element_id_ = element_id; 826 element_id_ = element_id;
827 layer_tree_impl_->AddToElementMap(this); 827 layer_tree_impl_->AddToElementMap(this);
828
829 SetNeedsPushProperties();
828 } 830 }
829 831
830 void LayerImpl::SetMutableProperties(uint32_t properties) { 832 void LayerImpl::SetMutableProperties(uint32_t properties) {
831 if (mutable_properties_ == properties) 833 if (mutable_properties_ == properties)
832 return; 834 return;
833 835
834 TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("compositor-worker"), 836 TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("compositor-worker"),
835 "LayerImpl::SetMutableProperties", "properties", properties); 837 "LayerImpl::SetMutableProperties", "properties", properties);
836 838
837 mutable_properties_ = properties; 839 mutable_properties_ = properties;
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
997 MathUtil::AddToTracedValue("bounds", bounds_, state); 999 MathUtil::AddToTracedValue("bounds", bounds_, state);
998 1000
999 state->SetDouble("opacity", Opacity()); 1001 state->SetDouble("opacity", Opacity());
1000 1002
1001 MathUtil::AddToTracedValue("position", position_, state); 1003 MathUtil::AddToTracedValue("position", position_, state);
1002 1004
1003 state->SetInteger("draws_content", DrawsContent()); 1005 state->SetInteger("draws_content", DrawsContent());
1004 state->SetInteger("gpu_memory_usage", 1006 state->SetInteger("gpu_memory_usage",
1005 base::saturated_cast<int>(GPUMemoryUsageInBytes())); 1007 base::saturated_cast<int>(GPUMemoryUsageInBytes()));
1006 1008
1007 if (mutable_properties_ != MutableProperty::kNone) { 1009 if (element_id_)
1008 state->SetInteger("element_id", base::saturated_cast<int>(element_id_)); 1010 element_id_.AddToTracedValue(state);
1011
1012 if (mutable_properties_ != MutableProperty::kNone)
1009 state->SetInteger("mutable_properties", mutable_properties_); 1013 state->SetInteger("mutable_properties", mutable_properties_);
1010 }
1011 1014
1012 MathUtil::AddToTracedValue("scroll_offset", CurrentScrollOffset(), state); 1015 MathUtil::AddToTracedValue("scroll_offset", CurrentScrollOffset(), state);
1013 1016
1014 if (!transform().IsIdentity()) 1017 if (!transform().IsIdentity())
1015 MathUtil::AddToTracedValue("transform", transform(), state); 1018 MathUtil::AddToTracedValue("transform", transform(), state);
1016 1019
1017 bool clipped; 1020 bool clipped;
1018 gfx::QuadF layer_quad = 1021 gfx::QuadF layer_quad =
1019 MathUtil::MapQuad(ScreenSpaceTransform(), 1022 MathUtil::MapQuad(ScreenSpaceTransform(),
1020 gfx::QuadF(gfx::RectF(gfx::Rect(bounds()))), &clipped); 1023 gfx::QuadF(gfx::RectF(gfx::Rect(bounds()))), &clipped);
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
1204 .layer_transforms_should_scale_layer_contents) { 1207 .layer_transforms_should_scale_layer_contents) {
1205 return default_scale; 1208 return default_scale;
1206 } 1209 }
1207 1210
1208 gfx::Vector2dF transform_scales = MathUtil::ComputeTransform2dScaleComponents( 1211 gfx::Vector2dF transform_scales = MathUtil::ComputeTransform2dScaleComponents(
1209 ScreenSpaceTransform(), default_scale); 1212 ScreenSpaceTransform(), default_scale);
1210 return std::max(transform_scales.x(), transform_scales.y()); 1213 return std::max(transform_scales.x(), transform_scales.y());
1211 } 1214 }
1212 1215
1213 } // namespace cc 1216 } // namespace cc
OLDNEW
« no previous file with comments | « cc/layers/layer_impl.h ('k') | cc/layers/layer_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698