Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2010 The Chromium Authors. All rights reserved. | 1 // Copyright 2010 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.h" | 5 #include "cc/layers/layer.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/atomic_sequence_num.h" | 9 #include "base/atomic_sequence_num.h" |
| 10 #include "base/location.h" | 10 #include "base/location.h" |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 76 scroll_blocks_on_(SCROLL_BLOCKS_ON_NONE), | 76 scroll_blocks_on_(SCROLL_BLOCKS_ON_NONE), |
| 77 background_color_(0), | 77 background_color_(0), |
| 78 opacity_(1.f), | 78 opacity_(1.f), |
| 79 blend_mode_(SkXfermode::kSrcOver_Mode), | 79 blend_mode_(SkXfermode::kSrcOver_Mode), |
| 80 scroll_parent_(nullptr), | 80 scroll_parent_(nullptr), |
| 81 clip_parent_(nullptr), | 81 clip_parent_(nullptr), |
| 82 replica_layer_(nullptr), | 82 replica_layer_(nullptr), |
| 83 raster_scale_(0.f), | 83 raster_scale_(0.f), |
| 84 client_(nullptr), | 84 client_(nullptr), |
| 85 frame_timing_requests_dirty_(false) { | 85 frame_timing_requests_dirty_(false) { |
| 86 // TODO(loyso): Do not create LayerAnimationController once systems migrated. | |
| 86 layer_animation_controller_ = LayerAnimationController::Create(layer_id_); | 87 layer_animation_controller_ = LayerAnimationController::Create(layer_id_); |
| 87 layer_animation_controller_->AddValueObserver(this); | 88 layer_animation_controller_->AddValueObserver(this); |
| 88 layer_animation_controller_->set_value_provider(this); | 89 layer_animation_controller_->set_value_provider(this); |
| 89 } | 90 } |
| 90 | 91 |
| 91 Layer::~Layer() { | 92 Layer::~Layer() { |
| 92 // Our parent should be holding a reference to us so there should be no | 93 // Our parent should be holding a reference to us so there should be no |
| 93 // way for us to be destroyed while we still have a parent. | 94 // way for us to be destroyed while we still have a parent. |
| 94 DCHECK(!parent()); | 95 DCHECK(!parent()); |
| 95 // Similarly we shouldn't have a layer tree host since it also keeps a | 96 // Similarly we shouldn't have a layer tree host since it also keeps a |
| 96 // reference to us. | 97 // reference to us. |
| 97 DCHECK(!layer_tree_host()); | 98 DCHECK(!layer_tree_host()); |
| 98 | 99 |
| 99 layer_animation_controller_->RemoveValueObserver(this); | 100 if (layer_animation_controller_) { |
| 100 layer_animation_controller_->remove_value_provider(this); | 101 layer_animation_controller_->RemoveValueObserver(this); |
| 102 layer_animation_controller_->remove_value_provider(this); | |
| 103 } | |
| 101 | 104 |
| 102 RemoveFromScrollTree(); | 105 RemoveFromScrollTree(); |
| 103 RemoveFromClipTree(); | 106 RemoveFromClipTree(); |
| 104 | 107 |
| 105 // Remove the parent reference from all children and dependents. | 108 // Remove the parent reference from all children and dependents. |
| 106 RemoveAllChildren(); | 109 RemoveAllChildren(); |
| 107 if (mask_layer_.get()) { | 110 if (mask_layer_.get()) { |
| 108 DCHECK_EQ(this, mask_layer_->parent()); | 111 DCHECK_EQ(this, mask_layer_->parent()); |
| 109 mask_layer_->RemoveFromParent(); | 112 mask_layer_->RemoveFromParent(); |
| 110 } | 113 } |
| (...skipping 19 matching lines...) Expand all Loading... | |
| 130 | 133 |
| 131 for (size_t i = 0; i < children_.size(); ++i) | 134 for (size_t i = 0; i < children_.size(); ++i) |
| 132 children_[i]->SetLayerTreeHost(host); | 135 children_[i]->SetLayerTreeHost(host); |
| 133 | 136 |
| 134 if (mask_layer_.get()) | 137 if (mask_layer_.get()) |
| 135 mask_layer_->SetLayerTreeHost(host); | 138 mask_layer_->SetLayerTreeHost(host); |
| 136 if (replica_layer_.get()) | 139 if (replica_layer_.get()) |
| 137 replica_layer_->SetLayerTreeHost(host); | 140 replica_layer_->SetLayerTreeHost(host); |
| 138 | 141 |
| 139 if (host) { | 142 if (host) { |
| 140 layer_animation_controller_->SetAnimationRegistrar( | 143 RegisterForAnimations(host->animation_registrar(), host->settings()); |
| 141 host->animation_registrar()); | |
| 142 | |
| 143 if (host->settings().layer_transforms_should_scale_layer_contents) | 144 if (host->settings().layer_transforms_should_scale_layer_contents) |
| 144 reset_raster_scale_to_unknown(); | 145 reset_raster_scale_to_unknown(); |
| 145 } | 146 } |
| 146 | 147 |
| 147 if (host && layer_animation_controller_->has_any_animation()) | 148 bool has_any_animation = false; |
| 149 if (layer_animation_controller_) | |
| 150 has_any_animation = layer_animation_controller_->has_any_animation(); | |
| 151 else if (layer_tree_host_) | |
| 152 has_any_animation = layer_tree_host_->HasAnyAnimation(this); | |
| 153 | |
| 154 if (host && has_any_animation) | |
| 148 host->SetNeedsCommit(); | 155 host->SetNeedsCommit(); |
| 149 } | 156 } |
| 150 | 157 |
| 151 void Layer::SetNeedsUpdate() { | 158 void Layer::SetNeedsUpdate() { |
| 152 if (layer_tree_host_ && !ignore_set_needs_commit_) | 159 if (layer_tree_host_ && !ignore_set_needs_commit_) |
| 153 layer_tree_host_->SetNeedsUpdateLayers(); | 160 layer_tree_host_->SetNeedsUpdateLayers(); |
| 154 } | 161 } |
| 155 | 162 |
| 156 void Layer::SetNeedsCommit() { | 163 void Layer::SetNeedsCommit() { |
| 157 if (!layer_tree_host_) | 164 if (!layer_tree_host_) |
| (...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 477 | 484 |
| 478 void Layer::SetFilters(const FilterOperations& filters) { | 485 void Layer::SetFilters(const FilterOperations& filters) { |
| 479 DCHECK(IsPropertyChangeAllowed()); | 486 DCHECK(IsPropertyChangeAllowed()); |
| 480 if (filters_ == filters) | 487 if (filters_ == filters) |
| 481 return; | 488 return; |
| 482 filters_ = filters; | 489 filters_ = filters; |
| 483 SetNeedsCommit(); | 490 SetNeedsCommit(); |
| 484 } | 491 } |
| 485 | 492 |
| 486 bool Layer::FilterIsAnimating() const { | 493 bool Layer::FilterIsAnimating() const { |
| 487 return layer_animation_controller_->IsAnimatingProperty(Animation::FILTER); | 494 DCHECK(layer_tree_host_); |
| 495 return layer_animation_controller_ | |
| 496 ? layer_animation_controller_->IsAnimatingProperty( | |
| 497 Animation::FILTER) | |
| 498 : layer_tree_host_->IsAnimatingFilterProperty(this); | |
| 488 } | 499 } |
| 489 | 500 |
| 490 void Layer::SetBackgroundFilters(const FilterOperations& filters) { | 501 void Layer::SetBackgroundFilters(const FilterOperations& filters) { |
| 491 DCHECK(IsPropertyChangeAllowed()); | 502 DCHECK(IsPropertyChangeAllowed()); |
| 492 if (background_filters_ == filters) | 503 if (background_filters_ == filters) |
| 493 return; | 504 return; |
| 494 background_filters_ = filters; | 505 background_filters_ = filters; |
| 495 SetNeedsCommit(); | 506 SetNeedsCommit(); |
| 496 } | 507 } |
| 497 | 508 |
| 498 void Layer::SetOpacity(float opacity) { | 509 void Layer::SetOpacity(float opacity) { |
| 499 DCHECK(IsPropertyChangeAllowed()); | 510 DCHECK(IsPropertyChangeAllowed()); |
| 500 if (opacity_ == opacity) | 511 if (opacity_ == opacity) |
| 501 return; | 512 return; |
| 502 opacity_ = opacity; | 513 opacity_ = opacity; |
| 503 SetNeedsCommit(); | 514 SetNeedsCommit(); |
| 504 } | 515 } |
| 505 | 516 |
| 506 bool Layer::OpacityIsAnimating() const { | 517 bool Layer::OpacityIsAnimating() const { |
| 507 return layer_animation_controller_->IsAnimatingProperty(Animation::OPACITY); | 518 DCHECK(layer_tree_host_); |
| 519 return layer_animation_controller_ | |
| 520 ? layer_animation_controller_->IsAnimatingProperty( | |
| 521 Animation::OPACITY) | |
| 522 : layer_tree_host_->IsAnimatingOpacityProperty(this); | |
| 508 } | 523 } |
| 509 | 524 |
| 510 bool Layer::OpacityCanAnimateOnImplThread() const { | 525 bool Layer::OpacityCanAnimateOnImplThread() const { |
| 511 return false; | 526 return false; |
| 512 } | 527 } |
| 513 | 528 |
| 514 void Layer::SetBlendMode(SkXfermode::Mode blend_mode) { | 529 void Layer::SetBlendMode(SkXfermode::Mode blend_mode) { |
| 515 DCHECK(IsPropertyChangeAllowed()); | 530 DCHECK(IsPropertyChangeAllowed()); |
| 516 if (blend_mode_ == blend_mode) | 531 if (blend_mode_ == blend_mode) |
| 517 return; | 532 return; |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 603 | 618 |
| 604 void Layer::SetTransformOrigin(const gfx::Point3F& transform_origin) { | 619 void Layer::SetTransformOrigin(const gfx::Point3F& transform_origin) { |
| 605 DCHECK(IsPropertyChangeAllowed()); | 620 DCHECK(IsPropertyChangeAllowed()); |
| 606 if (transform_origin_ == transform_origin) | 621 if (transform_origin_ == transform_origin) |
| 607 return; | 622 return; |
| 608 transform_origin_ = transform_origin; | 623 transform_origin_ = transform_origin; |
| 609 SetNeedsCommit(); | 624 SetNeedsCommit(); |
| 610 } | 625 } |
| 611 | 626 |
| 612 bool Layer::AnimationsPreserveAxisAlignment() const { | 627 bool Layer::AnimationsPreserveAxisAlignment() const { |
| 613 return layer_animation_controller_->AnimationsPreserveAxisAlignment(); | 628 DCHECK(layer_tree_host_); |
| 629 return layer_animation_controller_ | |
| 630 ? layer_animation_controller_->AnimationsPreserveAxisAlignment() | |
| 631 : layer_tree_host_->AnimationsPreserveAxisAlignment(this); | |
| 614 } | 632 } |
| 615 | 633 |
| 616 bool Layer::TransformIsAnimating() const { | 634 bool Layer::TransformIsAnimating() const { |
| 617 return layer_animation_controller_->IsAnimatingProperty(Animation::TRANSFORM); | 635 DCHECK(layer_tree_host_); |
| 636 return layer_animation_controller_ | |
| 637 ? layer_animation_controller_->IsAnimatingProperty( | |
| 638 Animation::TRANSFORM) | |
| 639 : layer_tree_host_->IsAnimatingTransformProperty(this); | |
| 618 } | 640 } |
| 619 | 641 |
| 620 void Layer::SetScrollParent(Layer* parent) { | 642 void Layer::SetScrollParent(Layer* parent) { |
| 621 DCHECK(IsPropertyChangeAllowed()); | 643 DCHECK(IsPropertyChangeAllowed()); |
| 622 if (scroll_parent_ == parent) | 644 if (scroll_parent_ == parent) |
| 623 return; | 645 return; |
| 624 | 646 |
| 625 if (scroll_parent_) | 647 if (scroll_parent_) |
| 626 scroll_parent_->RemoveScrollChild(this); | 648 scroll_parent_->RemoveScrollChild(this); |
| 627 | 649 |
| (...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 993 } | 1015 } |
| 994 layer->SetClipChildren(clip_children); | 1016 layer->SetClipChildren(clip_children); |
| 995 } else { | 1017 } else { |
| 996 layer->SetClipChildren(nullptr); | 1018 layer->SetClipChildren(nullptr); |
| 997 } | 1019 } |
| 998 | 1020 |
| 999 // When a scroll offset animation is interrupted the new scroll position on | 1021 // When a scroll offset animation is interrupted the new scroll position on |
| 1000 // the pending tree will clobber any impl-side scrolling occuring on the | 1022 // the pending tree will clobber any impl-side scrolling occuring on the |
| 1001 // active tree. To do so, avoid scrolling the pending tree along with it | 1023 // active tree. To do so, avoid scrolling the pending tree along with it |
| 1002 // instead of trying to undo that scrolling later. | 1024 // instead of trying to undo that scrolling later. |
| 1003 if (layer_animation_controller_->scroll_offset_animation_was_interrupted()) | 1025 if (layer_animation_controller_ && |
| 1026 layer_animation_controller_->scroll_offset_animation_was_interrupted()) | |
|
ajuma
2015/04/21 17:57:57
This will need an equivalent in the new system.
loyso (OOO)
2015/04/22 01:08:11
Acknowledged.
loyso (OOO)
2015/04/30 07:06:01
Done.
| |
| 1004 layer->PushScrollOffsetFromMainThreadAndClobberActiveValue(scroll_offset_); | 1027 layer->PushScrollOffsetFromMainThreadAndClobberActiveValue(scroll_offset_); |
| 1005 else | 1028 else |
| 1006 layer->PushScrollOffsetFromMainThread(scroll_offset_); | 1029 layer->PushScrollOffsetFromMainThread(scroll_offset_); |
| 1007 layer->SetScrollCompensationAdjustment(ScrollCompensationAdjustment()); | 1030 layer->SetScrollCompensationAdjustment(ScrollCompensationAdjustment()); |
| 1008 | 1031 |
| 1009 // Wrap the copy_requests_ in a PostTask to the main thread. | 1032 // Wrap the copy_requests_ in a PostTask to the main thread. |
| 1010 ScopedPtrVector<CopyOutputRequest> main_thread_copy_requests; | 1033 ScopedPtrVector<CopyOutputRequest> main_thread_copy_requests; |
| 1011 for (ScopedPtrVector<CopyOutputRequest>::iterator it = copy_requests_.begin(); | 1034 for (ScopedPtrVector<CopyOutputRequest>::iterator it = copy_requests_.begin(); |
| 1012 it != copy_requests_.end(); | 1035 it != copy_requests_.end(); |
| 1013 ++it) { | 1036 ++it) { |
| (...skipping 14 matching lines...) Expand all Loading... | |
| 1028 | 1051 |
| 1029 // If the main thread commits multiple times before the impl thread actually | 1052 // If the main thread commits multiple times before the impl thread actually |
| 1030 // draws, then damage tracking will become incorrect if we simply clobber the | 1053 // draws, then damage tracking will become incorrect if we simply clobber the |
| 1031 // update_rect here. The LayerImpl's update_rect needs to accumulate (i.e. | 1054 // update_rect here. The LayerImpl's update_rect needs to accumulate (i.e. |
| 1032 // union) any update changes that have occurred on the main thread. | 1055 // union) any update changes that have occurred on the main thread. |
| 1033 update_rect_.Union(layer->update_rect()); | 1056 update_rect_.Union(layer->update_rect()); |
| 1034 layer->SetUpdateRect(update_rect_); | 1057 layer->SetUpdateRect(update_rect_); |
| 1035 | 1058 |
| 1036 layer->SetStackingOrderChanged(stacking_order_changed_); | 1059 layer->SetStackingOrderChanged(stacking_order_changed_); |
| 1037 | 1060 |
| 1038 layer_animation_controller_->PushAnimationUpdatesTo( | 1061 if (layer->layer_animation_controller() && layer_animation_controller_) |
| 1039 layer->layer_animation_controller()); | 1062 layer_animation_controller_->PushAnimationUpdatesTo( |
| 1063 layer->layer_animation_controller()); | |
| 1040 | 1064 |
| 1041 if (frame_timing_requests_dirty_) { | 1065 if (frame_timing_requests_dirty_) { |
| 1042 layer->PassFrameTimingRequests(&frame_timing_requests_); | 1066 layer->PassFrameTimingRequests(&frame_timing_requests_); |
| 1043 frame_timing_requests_dirty_ = false; | 1067 frame_timing_requests_dirty_ = false; |
| 1044 } | 1068 } |
| 1045 | 1069 |
| 1046 // Reset any state that should be cleared for the next update. | 1070 // Reset any state that should be cleared for the next update. |
| 1047 stacking_order_changed_ = false; | 1071 stacking_order_changed_ = false; |
| 1048 update_rect_ = gfx::Rect(); | 1072 update_rect_ = gfx::Rect(); |
| 1049 | 1073 |
| (...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1179 void Layer::OnAnimationWaitingForDeletion() { | 1203 void Layer::OnAnimationWaitingForDeletion() { |
| 1180 // Animations are only deleted during PushProperties. | 1204 // Animations are only deleted during PushProperties. |
| 1181 SetNeedsPushProperties(); | 1205 SetNeedsPushProperties(); |
| 1182 } | 1206 } |
| 1183 | 1207 |
| 1184 bool Layer::IsActive() const { | 1208 bool Layer::IsActive() const { |
| 1185 return true; | 1209 return true; |
| 1186 } | 1210 } |
| 1187 | 1211 |
| 1188 bool Layer::AddAnimation(scoped_ptr <Animation> animation) { | 1212 bool Layer::AddAnimation(scoped_ptr <Animation> animation) { |
| 1189 if (!layer_animation_controller_->animation_registrar()) | 1213 if (!layer_animation_controller_ || |
| 1214 !layer_animation_controller_->animation_registrar()) | |
| 1190 return false; | 1215 return false; |
| 1191 | 1216 |
| 1192 if (animation->target_property() == Animation::SCROLL_OFFSET && | 1217 if (animation->target_property() == Animation::SCROLL_OFFSET && |
| 1193 !layer_animation_controller_->animation_registrar() | 1218 !layer_animation_controller_->animation_registrar() |
| 1194 ->supports_scroll_animations()) | 1219 ->supports_scroll_animations()) |
| 1195 return false; | 1220 return false; |
| 1196 | 1221 |
| 1197 UMA_HISTOGRAM_BOOLEAN("Renderer.AnimationAddedToOrphanLayer", | 1222 UMA_HISTOGRAM_BOOLEAN("Renderer.AnimationAddedToOrphanLayer", |
| 1198 !layer_tree_host_); | 1223 !layer_tree_host_); |
| 1199 layer_animation_controller_->AddAnimation(animation.Pass()); | 1224 layer_animation_controller_->AddAnimation(animation.Pass()); |
| 1200 SetNeedsCommit(); | 1225 SetNeedsCommit(); |
| 1201 return true; | 1226 return true; |
| 1202 } | 1227 } |
| 1203 | 1228 |
| 1204 void Layer::PauseAnimation(int animation_id, double time_offset) { | 1229 void Layer::PauseAnimation(int animation_id, double time_offset) { |
| 1230 DCHECK(layer_animation_controller_); | |
| 1205 layer_animation_controller_->PauseAnimation( | 1231 layer_animation_controller_->PauseAnimation( |
| 1206 animation_id, base::TimeDelta::FromSecondsD(time_offset)); | 1232 animation_id, base::TimeDelta::FromSecondsD(time_offset)); |
| 1207 SetNeedsCommit(); | 1233 SetNeedsCommit(); |
| 1208 } | 1234 } |
| 1209 | 1235 |
| 1210 void Layer::RemoveAnimation(int animation_id) { | 1236 void Layer::RemoveAnimation(int animation_id) { |
| 1237 DCHECK(layer_animation_controller_); | |
| 1211 layer_animation_controller_->RemoveAnimation(animation_id); | 1238 layer_animation_controller_->RemoveAnimation(animation_id); |
| 1212 SetNeedsCommit(); | 1239 SetNeedsCommit(); |
| 1213 } | 1240 } |
| 1214 | 1241 |
| 1215 void Layer::RemoveAnimation(int animation_id, | 1242 void Layer::RemoveAnimation(int animation_id, |
| 1216 Animation::TargetProperty property) { | 1243 Animation::TargetProperty property) { |
| 1244 DCHECK(layer_animation_controller_); | |
| 1217 layer_animation_controller_->RemoveAnimation(animation_id, property); | 1245 layer_animation_controller_->RemoveAnimation(animation_id, property); |
| 1218 SetNeedsCommit(); | 1246 SetNeedsCommit(); |
| 1219 } | 1247 } |
| 1220 | 1248 |
| 1221 void Layer::SetLayerAnimationControllerForTest( | 1249 void Layer::SetLayerAnimationControllerForTest( |
| 1222 scoped_refptr<LayerAnimationController> controller) { | 1250 scoped_refptr<LayerAnimationController> controller) { |
| 1251 DCHECK(layer_animation_controller_); | |
| 1223 layer_animation_controller_->RemoveValueObserver(this); | 1252 layer_animation_controller_->RemoveValueObserver(this); |
| 1224 layer_animation_controller_ = controller; | 1253 layer_animation_controller_ = controller; |
| 1225 layer_animation_controller_->AddValueObserver(this); | 1254 layer_animation_controller_->AddValueObserver(this); |
| 1226 SetNeedsCommit(); | 1255 SetNeedsCommit(); |
| 1227 } | 1256 } |
| 1228 | 1257 |
| 1229 bool Layer::HasActiveAnimation() const { | 1258 bool Layer::HasActiveAnimation() const { |
| 1230 return layer_animation_controller_->HasActiveAnimation(); | 1259 DCHECK(layer_tree_host_); |
| 1260 return layer_animation_controller_ | |
| 1261 ? layer_animation_controller_->HasActiveAnimation() | |
| 1262 : layer_tree_host_->HasActiveAnimation(this); | |
| 1263 } | |
| 1264 | |
| 1265 void Layer::RegisterForAnimations(AnimationRegistrar* registrar, | |
| 1266 const LayerTreeSettings& settings) { | |
| 1267 if (!settings.use_compositor_animation_timelines && | |
| 1268 !layer_animation_controller_) { | |
| 1269 layer_animation_controller_ = LayerAnimationController::Create(layer_id_); | |
| 1270 layer_animation_controller_->AddValueObserver(this); | |
| 1271 layer_animation_controller_->set_value_provider(this); | |
| 1272 } | |
| 1273 | |
| 1274 if (layer_animation_controller_) | |
|
ajuma
2015/04/21 17:57:57
This will always be true if we're constructing a c
loyso (OOO)
2015/04/22 01:08:11
Yes, that's correct statement. The problem is that
ajuma
2015/04/22 14:36:37
I think I'd prefer that the creation of LACs be mo
loyso (OOO)
2015/04/23 07:58:20
That's not that simple with ui::Layers. See the hi
| |
| 1275 layer_animation_controller_->SetAnimationRegistrar(registrar); | |
| 1231 } | 1276 } |
| 1232 | 1277 |
| 1233 void Layer::AddLayerAnimationEventObserver( | 1278 void Layer::AddLayerAnimationEventObserver( |
| 1234 LayerAnimationEventObserver* animation_observer) { | 1279 LayerAnimationEventObserver* animation_observer) { |
| 1280 DCHECK(layer_animation_controller_); | |
| 1235 layer_animation_controller_->AddEventObserver(animation_observer); | 1281 layer_animation_controller_->AddEventObserver(animation_observer); |
| 1236 } | 1282 } |
| 1237 | 1283 |
| 1238 void Layer::RemoveLayerAnimationEventObserver( | 1284 void Layer::RemoveLayerAnimationEventObserver( |
| 1239 LayerAnimationEventObserver* animation_observer) { | 1285 LayerAnimationEventObserver* animation_observer) { |
| 1286 DCHECK(layer_animation_controller_); | |
| 1240 layer_animation_controller_->RemoveEventObserver(animation_observer); | 1287 layer_animation_controller_->RemoveEventObserver(animation_observer); |
| 1241 } | 1288 } |
| 1242 | 1289 |
| 1243 SimpleEnclosedRegion Layer::VisibleContentOpaqueRegion() const { | 1290 SimpleEnclosedRegion Layer::VisibleContentOpaqueRegion() const { |
| 1244 if (contents_opaque()) | 1291 if (contents_opaque()) |
| 1245 return SimpleEnclosedRegion(visible_content_rect()); | 1292 return SimpleEnclosedRegion(visible_content_rect()); |
| 1246 return SimpleEnclosedRegion(); | 1293 return SimpleEnclosedRegion(); |
| 1247 } | 1294 } |
| 1248 | 1295 |
| 1249 ScrollbarLayerInterface* Layer::ToScrollbarLayer() { | 1296 ScrollbarLayerInterface* Layer::ToScrollbarLayer() { |
| (...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1379 | 1426 |
| 1380 void Layer::DidBeginTracing() { | 1427 void Layer::DidBeginTracing() { |
| 1381 // We'll be dumping layer trees as part of trace, so make sure | 1428 // We'll be dumping layer trees as part of trace, so make sure |
| 1382 // PushPropertiesTo() propagates layer debug info to the impl | 1429 // PushPropertiesTo() propagates layer debug info to the impl |
| 1383 // side -- otherwise this won't happen for the the layers that | 1430 // side -- otherwise this won't happen for the the layers that |
| 1384 // remain unchanged since tracing started. | 1431 // remain unchanged since tracing started. |
| 1385 SetNeedsPushProperties(); | 1432 SetNeedsPushProperties(); |
| 1386 } | 1433 } |
| 1387 | 1434 |
| 1388 } // namespace cc | 1435 } // namespace cc |
| OLD | NEW |