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

Side by Side Diff: cc/layers/layer_impl.cc

Issue 1700653002: CC Animation: Expose TargetProperty enum to be aliased in Blink Platform. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 4 years, 10 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_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 <utility> 10 #include <utility>
(...skipping 844 matching lines...) Expand 10 before | Expand all | Expand 10 after
855 return; 855 return;
856 node->data.opacity = EffectiveOpacity(); 856 node->data.opacity = EffectiveOpacity();
857 effect_tree.set_needs_update(true); 857 effect_tree.set_needs_update(true);
858 } 858 }
859 } 859 }
860 860
861 void LayerImpl::UpdatePropertyTreeForScrollingAndAnimationIfNeeded() { 861 void LayerImpl::UpdatePropertyTreeForScrollingAndAnimationIfNeeded() {
862 if (scrollable()) 862 if (scrollable())
863 UpdatePropertyTreeScrollOffset(); 863 UpdatePropertyTreeScrollOffset();
864 864
865 if (HasAnyAnimationTargetingProperty(Animation::OPACITY)) 865 if (HasAnyAnimationTargetingProperty(TargetProperty::OPACITY))
866 UpdatePropertyTreeOpacity(); 866 UpdatePropertyTreeOpacity();
867 867
868 if (HasAnyAnimationTargetingProperty(Animation::TRANSFORM)) { 868 if (HasAnyAnimationTargetingProperty(TargetProperty::TRANSFORM)) {
869 UpdatePropertyTreeTransform(); 869 UpdatePropertyTreeTransform();
870 UpdatePropertyTreeTransformIsAnimated( 870 UpdatePropertyTreeTransformIsAnimated(
871 HasPotentiallyRunningTransformAnimation()); 871 HasPotentiallyRunningTransformAnimation());
872 } 872 }
873 } 873 }
874 874
875 gfx::ScrollOffset LayerImpl::ScrollOffsetForAnimation() const { 875 gfx::ScrollOffset LayerImpl::ScrollOffsetForAnimation() const {
876 return CurrentScrollOffset(); 876 return CurrentScrollOffset();
877 } 877 }
878 878
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
1074 filters_ = filters; 1074 filters_ = filters;
1075 NoteLayerPropertyChangedForSubtree(); 1075 NoteLayerPropertyChangedForSubtree();
1076 } 1076 }
1077 1077
1078 bool LayerImpl::FilterIsAnimating() const { 1078 bool LayerImpl::FilterIsAnimating() const {
1079 LayerAnimationController::ObserverType observer_type = 1079 LayerAnimationController::ObserverType observer_type =
1080 IsActive() ? LayerAnimationController::ObserverType::ACTIVE 1080 IsActive() ? LayerAnimationController::ObserverType::ACTIVE
1081 : LayerAnimationController::ObserverType::PENDING; 1081 : LayerAnimationController::ObserverType::PENDING;
1082 return layer_animation_controller_ 1082 return layer_animation_controller_
1083 ? layer_animation_controller_->IsCurrentlyAnimatingProperty( 1083 ? layer_animation_controller_->IsCurrentlyAnimatingProperty(
1084 Animation::FILTER, observer_type) 1084 TargetProperty::FILTER, observer_type)
1085 : layer_tree_impl_->IsAnimatingFilterProperty(this); 1085 : layer_tree_impl_->IsAnimatingFilterProperty(this);
1086 } 1086 }
1087 1087
1088 bool LayerImpl::HasPotentiallyRunningFilterAnimation() const { 1088 bool LayerImpl::HasPotentiallyRunningFilterAnimation() const {
1089 LayerAnimationController::ObserverType observer_type = 1089 LayerAnimationController::ObserverType observer_type =
1090 IsActive() ? LayerAnimationController::ObserverType::ACTIVE 1090 IsActive() ? LayerAnimationController::ObserverType::ACTIVE
1091 : LayerAnimationController::ObserverType::PENDING; 1091 : LayerAnimationController::ObserverType::PENDING;
1092 return layer_animation_controller_ 1092 return layer_animation_controller_
1093 ? layer_animation_controller_->IsPotentiallyAnimatingProperty( 1093 ? layer_animation_controller_->IsPotentiallyAnimatingProperty(
1094 Animation::FILTER, observer_type) 1094 TargetProperty::FILTER, observer_type)
1095 : layer_tree_impl_->HasPotentiallyRunningFilterAnimation(this); 1095 : layer_tree_impl_->HasPotentiallyRunningFilterAnimation(this);
1096 } 1096 }
1097 1097
1098 bool LayerImpl::FilterIsAnimatingOnImplOnly() const { 1098 bool LayerImpl::FilterIsAnimatingOnImplOnly() const {
1099 if (!layer_animation_controller_) 1099 if (!layer_animation_controller_)
1100 return layer_tree_impl_->FilterIsAnimatingOnImplOnly(this); 1100 return layer_tree_impl_->FilterIsAnimatingOnImplOnly(this);
1101 1101
1102 Animation* filter_animation = 1102 Animation* filter_animation =
1103 layer_animation_controller_->GetAnimation(Animation::FILTER); 1103 layer_animation_controller_->GetAnimation(TargetProperty::FILTER);
1104 return filter_animation && filter_animation->is_impl_only(); 1104 return filter_animation && filter_animation->is_impl_only();
1105 } 1105 }
1106 1106
1107 void LayerImpl::SetBackgroundFilters( 1107 void LayerImpl::SetBackgroundFilters(
1108 const FilterOperations& filters) { 1108 const FilterOperations& filters) {
1109 if (background_filters_ == filters) 1109 if (background_filters_ == filters)
1110 return; 1110 return;
1111 1111
1112 background_filters_ = filters; 1112 background_filters_ = filters;
1113 NoteLayerPropertyChanged(); 1113 NoteLayerPropertyChanged();
(...skipping 24 matching lines...) Expand all
1138 float LayerImpl::EffectiveOpacity() const { 1138 float LayerImpl::EffectiveOpacity() const {
1139 return hide_layer_and_subtree_ ? 0.f : opacity_; 1139 return hide_layer_and_subtree_ ? 0.f : opacity_;
1140 } 1140 }
1141 1141
1142 bool LayerImpl::OpacityIsAnimating() const { 1142 bool LayerImpl::OpacityIsAnimating() const {
1143 LayerAnimationController::ObserverType observer_type = 1143 LayerAnimationController::ObserverType observer_type =
1144 IsActive() ? LayerAnimationController::ObserverType::ACTIVE 1144 IsActive() ? LayerAnimationController::ObserverType::ACTIVE
1145 : LayerAnimationController::ObserverType::PENDING; 1145 : LayerAnimationController::ObserverType::PENDING;
1146 return layer_animation_controller_ 1146 return layer_animation_controller_
1147 ? layer_animation_controller_->IsCurrentlyAnimatingProperty( 1147 ? layer_animation_controller_->IsCurrentlyAnimatingProperty(
1148 Animation::OPACITY, observer_type) 1148 TargetProperty::OPACITY, observer_type)
1149 : layer_tree_impl_->IsAnimatingOpacityProperty(this); 1149 : layer_tree_impl_->IsAnimatingOpacityProperty(this);
1150 } 1150 }
1151 1151
1152 bool LayerImpl::HasPotentiallyRunningOpacityAnimation() const { 1152 bool LayerImpl::HasPotentiallyRunningOpacityAnimation() const {
1153 LayerAnimationController::ObserverType observer_type = 1153 LayerAnimationController::ObserverType observer_type =
1154 IsActive() ? LayerAnimationController::ObserverType::ACTIVE 1154 IsActive() ? LayerAnimationController::ObserverType::ACTIVE
1155 : LayerAnimationController::ObserverType::PENDING; 1155 : LayerAnimationController::ObserverType::PENDING;
1156 return layer_animation_controller_ 1156 return layer_animation_controller_
1157 ? layer_animation_controller_->IsPotentiallyAnimatingProperty( 1157 ? layer_animation_controller_->IsPotentiallyAnimatingProperty(
1158 Animation::OPACITY, observer_type) 1158 TargetProperty::OPACITY, observer_type)
1159 : layer_tree_impl_->HasPotentiallyRunningOpacityAnimation(this); 1159 : layer_tree_impl_->HasPotentiallyRunningOpacityAnimation(this);
1160 } 1160 }
1161 1161
1162 bool LayerImpl::OpacityIsAnimatingOnImplOnly() const { 1162 bool LayerImpl::OpacityIsAnimatingOnImplOnly() const {
1163 if (!layer_animation_controller_) 1163 if (!layer_animation_controller_)
1164 return layer_tree_impl_->OpacityIsAnimatingOnImplOnly(this); 1164 return layer_tree_impl_->OpacityIsAnimatingOnImplOnly(this);
1165 1165
1166 Animation* opacity_animation = 1166 Animation* opacity_animation =
1167 layer_animation_controller_->GetAnimation(Animation::OPACITY); 1167 layer_animation_controller_->GetAnimation(TargetProperty::OPACITY);
1168 return opacity_animation && opacity_animation->is_impl_only(); 1168 return opacity_animation && opacity_animation->is_impl_only();
1169 } 1169 }
1170 1170
1171 void LayerImpl::SetElementId(uint64_t element_id) { 1171 void LayerImpl::SetElementId(uint64_t element_id) {
1172 if (element_id == element_id_) 1172 if (element_id == element_id_)
1173 return; 1173 return;
1174 1174
1175 TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("compositor-worker"), 1175 TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("compositor-worker"),
1176 "LayerImpl::SetElementId", "id", element_id); 1176 "LayerImpl::SetElementId", "id", element_id);
1177 1177
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
1260 transform_ = transform; 1260 transform_ = transform;
1261 transform_is_invertible_ = transform_is_invertible; 1261 transform_is_invertible_ = transform_is_invertible;
1262 } 1262 }
1263 1263
1264 bool LayerImpl::TransformIsAnimating() const { 1264 bool LayerImpl::TransformIsAnimating() const {
1265 LayerAnimationController::ObserverType observer_type = 1265 LayerAnimationController::ObserverType observer_type =
1266 IsActive() ? LayerAnimationController::ObserverType::ACTIVE 1266 IsActive() ? LayerAnimationController::ObserverType::ACTIVE
1267 : LayerAnimationController::ObserverType::PENDING; 1267 : LayerAnimationController::ObserverType::PENDING;
1268 return layer_animation_controller_ 1268 return layer_animation_controller_
1269 ? layer_animation_controller_->IsCurrentlyAnimatingProperty( 1269 ? layer_animation_controller_->IsCurrentlyAnimatingProperty(
1270 Animation::TRANSFORM, observer_type) 1270 TargetProperty::TRANSFORM, observer_type)
1271 : layer_tree_impl_->IsAnimatingTransformProperty(this); 1271 : layer_tree_impl_->IsAnimatingTransformProperty(this);
1272 } 1272 }
1273 1273
1274 bool LayerImpl::HasPotentiallyRunningTransformAnimation() const { 1274 bool LayerImpl::HasPotentiallyRunningTransformAnimation() const {
1275 LayerAnimationController::ObserverType observer_type = 1275 LayerAnimationController::ObserverType observer_type =
1276 IsActive() ? LayerAnimationController::ObserverType::ACTIVE 1276 IsActive() ? LayerAnimationController::ObserverType::ACTIVE
1277 : LayerAnimationController::ObserverType::PENDING; 1277 : LayerAnimationController::ObserverType::PENDING;
1278 return layer_animation_controller_ 1278 return layer_animation_controller_
1279 ? layer_animation_controller_->IsPotentiallyAnimatingProperty( 1279 ? layer_animation_controller_->IsPotentiallyAnimatingProperty(
1280 Animation::TRANSFORM, observer_type) 1280 TargetProperty::TRANSFORM, observer_type)
1281 : layer_tree_impl_->HasPotentiallyRunningTransformAnimation(this); 1281 : layer_tree_impl_->HasPotentiallyRunningTransformAnimation(this);
1282 } 1282 }
1283 1283
1284 bool LayerImpl::TransformIsAnimatingOnImplOnly() const { 1284 bool LayerImpl::TransformIsAnimatingOnImplOnly() const {
1285 if (!layer_animation_controller_) 1285 if (!layer_animation_controller_)
1286 return layer_tree_impl_->TransformIsAnimatingOnImplOnly(this); 1286 return layer_tree_impl_->TransformIsAnimatingOnImplOnly(this);
1287 1287
1288 Animation* transform_animation = 1288 Animation* transform_animation =
1289 layer_animation_controller_->GetAnimation(Animation::TRANSFORM); 1289 layer_animation_controller_->GetAnimation(TargetProperty::TRANSFORM);
1290 return transform_animation && transform_animation->is_impl_only(); 1290 return transform_animation && transform_animation->is_impl_only();
1291 } 1291 }
1292 1292
1293 bool LayerImpl::HasOnlyTranslationTransforms() const { 1293 bool LayerImpl::HasOnlyTranslationTransforms() const {
1294 if (!layer_animation_controller_) 1294 if (!layer_animation_controller_)
1295 return layer_tree_impl_->HasOnlyTranslationTransforms(this); 1295 return layer_tree_impl_->HasOnlyTranslationTransforms(this);
1296 1296
1297 LayerAnimationController::ObserverType observer_type = 1297 LayerAnimationController::ObserverType observer_type =
1298 IsActive() ? LayerAnimationController::ObserverType::ACTIVE 1298 IsActive() ? LayerAnimationController::ObserverType::ACTIVE
1299 : LayerAnimationController::ObserverType::PENDING; 1299 : LayerAnimationController::ObserverType::PENDING;
(...skipping 23 matching lines...) Expand all
1323 return layer_tree_impl_->AnimationStartScale(this, start_scale); 1323 return layer_tree_impl_->AnimationStartScale(this, start_scale);
1324 1324
1325 LayerAnimationController::ObserverType observer_type = 1325 LayerAnimationController::ObserverType observer_type =
1326 IsActive() ? LayerAnimationController::ObserverType::ACTIVE 1326 IsActive() ? LayerAnimationController::ObserverType::ACTIVE
1327 : LayerAnimationController::ObserverType::PENDING; 1327 : LayerAnimationController::ObserverType::PENDING;
1328 return layer_animation_controller_->AnimationStartScale(observer_type, 1328 return layer_animation_controller_->AnimationStartScale(observer_type,
1329 start_scale); 1329 start_scale);
1330 } 1330 }
1331 1331
1332 bool LayerImpl::HasAnyAnimationTargetingProperty( 1332 bool LayerImpl::HasAnyAnimationTargetingProperty(
1333 Animation::TargetProperty property) const { 1333 TargetProperty::Type property) const {
1334 if (!layer_animation_controller_) 1334 if (!layer_animation_controller_)
1335 return layer_tree_impl_->HasAnyAnimationTargetingProperty(this, property); 1335 return layer_tree_impl_->HasAnyAnimationTargetingProperty(this, property);
1336 1336
1337 return !!layer_animation_controller_->GetAnimation(property); 1337 return !!layer_animation_controller_->GetAnimation(property);
1338 } 1338 }
1339 1339
1340 bool LayerImpl::HasFilterAnimationThatInflatesBounds() const { 1340 bool LayerImpl::HasFilterAnimationThatInflatesBounds() const {
1341 if (!layer_animation_controller_) 1341 if (!layer_animation_controller_)
1342 return layer_tree_impl_->HasFilterAnimationThatInflatesBounds(this); 1342 return layer_tree_impl_->HasFilterAnimationThatInflatesBounds(this);
1343 1343
(...skipping 340 matching lines...) Expand 10 before | Expand all | Expand 10 after
1684 size_t LayerImpl::GPUMemoryUsageInBytes() const { return 0; } 1684 size_t LayerImpl::GPUMemoryUsageInBytes() const { return 0; }
1685 1685
1686 void LayerImpl::RunMicroBenchmark(MicroBenchmarkImpl* benchmark) { 1686 void LayerImpl::RunMicroBenchmark(MicroBenchmarkImpl* benchmark) {
1687 benchmark->RunOnLayer(this); 1687 benchmark->RunOnLayer(this);
1688 } 1688 }
1689 1689
1690 int LayerImpl::NumDescendantsThatDrawContent() const { 1690 int LayerImpl::NumDescendantsThatDrawContent() const {
1691 return num_descendants_that_draw_content_; 1691 return num_descendants_that_draw_content_;
1692 } 1692 }
1693 1693
1694 void LayerImpl::NotifyAnimationFinished( 1694 void LayerImpl::NotifyAnimationFinished(base::TimeTicks monotonic_time,
1695 base::TimeTicks monotonic_time, 1695 TargetProperty::Type target_property,
1696 Animation::TargetProperty target_property, 1696 int group) {
1697 int group) { 1697 if (target_property == TargetProperty::SCROLL_OFFSET)
1698 if (target_property == Animation::SCROLL_OFFSET)
1699 layer_tree_impl_->InputScrollAnimationFinished(); 1698 layer_tree_impl_->InputScrollAnimationFinished();
1700 } 1699 }
1701 1700
1702 void LayerImpl::SetHasRenderSurface(bool should_have_render_surface) { 1701 void LayerImpl::SetHasRenderSurface(bool should_have_render_surface) {
1703 if (!!render_surface() == should_have_render_surface) 1702 if (!!render_surface() == should_have_render_surface)
1704 return; 1703 return;
1705 1704
1706 SetNeedsPushProperties(); 1705 SetNeedsPushProperties();
1707 if (should_have_render_surface) { 1706 if (should_have_render_surface) {
1708 render_surface_ = make_scoped_ptr(new RenderSurfaceImpl(this)); 1707 render_surface_ = make_scoped_ptr(new RenderSurfaceImpl(this));
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
1779 .layer_transforms_should_scale_layer_contents) { 1778 .layer_transforms_should_scale_layer_contents) {
1780 return default_scale; 1779 return default_scale;
1781 } 1780 }
1782 1781
1783 gfx::Vector2dF transform_scales = MathUtil::ComputeTransform2dScaleComponents( 1782 gfx::Vector2dF transform_scales = MathUtil::ComputeTransform2dScaleComponents(
1784 DrawTransform(), default_scale); 1783 DrawTransform(), default_scale);
1785 return std::max(transform_scales.x(), transform_scales.y()); 1784 return std::max(transform_scales.x(), transform_scales.y());
1786 } 1785 }
1787 1786
1788 } // namespace cc 1787 } // namespace cc
OLDNEW
« no previous file with comments | « cc/layers/layer_impl.h ('k') | cc/layers/layer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698