Chromium Code Reviews| OLD | NEW |
|---|---|
| 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/picture_layer_impl.h" | 5 #include "cc/layers/picture_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 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 113 is_directly_composited_image_(false) { | 113 is_directly_composited_image_(false) { |
| 114 layer_tree_impl()->RegisterPictureLayerImpl(this); | 114 layer_tree_impl()->RegisterPictureLayerImpl(this); |
| 115 } | 115 } |
| 116 | 116 |
| 117 PictureLayerImpl::~PictureLayerImpl() { | 117 PictureLayerImpl::~PictureLayerImpl() { |
| 118 if (twin_layer_) | 118 if (twin_layer_) |
| 119 twin_layer_->twin_layer_ = nullptr; | 119 twin_layer_->twin_layer_ = nullptr; |
| 120 layer_tree_impl()->UnregisterPictureLayerImpl(this); | 120 layer_tree_impl()->UnregisterPictureLayerImpl(this); |
| 121 } | 121 } |
| 122 | 122 |
| 123 void PictureLayerImpl::SetLayerMaskType(Layer::LayerMaskType mask_type) { | |
| 124 if (mask_type_ == mask_type) | |
| 125 return; | |
| 126 DCHECK(mask_type_ != Layer::LayerMaskType::NOT_MASK && | |
|
enne (OOO)
2017/04/28 17:08:30
Maybe leave a comment here saying that it's expect
sunxd
2017/04/28 17:53:20
Done.
| |
| 127 mask_type != Layer::LayerMaskType::NOT_MASK); | |
| 128 mask_type_ = mask_type; | |
| 129 } | |
| 130 | |
| 123 const char* PictureLayerImpl::LayerTypeAsString() const { | 131 const char* PictureLayerImpl::LayerTypeAsString() const { |
| 124 return "cc::PictureLayerImpl"; | 132 return "cc::PictureLayerImpl"; |
| 125 } | 133 } |
| 126 | 134 |
| 127 std::unique_ptr<LayerImpl> PictureLayerImpl::CreateLayerImpl( | 135 std::unique_ptr<LayerImpl> PictureLayerImpl::CreateLayerImpl( |
| 128 LayerTreeImpl* tree_impl) { | 136 LayerTreeImpl* tree_impl) { |
| 129 return PictureLayerImpl::Create(tree_impl, id(), mask_type()); | 137 return PictureLayerImpl::Create(tree_impl, id(), mask_type()); |
| 130 } | 138 } |
| 131 | 139 |
| 132 void PictureLayerImpl::PushPropertiesTo(LayerImpl* base_layer) { | 140 void PictureLayerImpl::PushPropertiesTo(LayerImpl* base_layer) { |
| 133 PictureLayerImpl* layer_impl = static_cast<PictureLayerImpl*>(base_layer); | 141 PictureLayerImpl* layer_impl = static_cast<PictureLayerImpl*>(base_layer); |
| 134 DCHECK_EQ(layer_impl->mask_type_, mask_type_); | |
| 135 | 142 |
| 136 LayerImpl::PushPropertiesTo(base_layer); | 143 LayerImpl::PushPropertiesTo(base_layer); |
| 137 | 144 |
| 145 layer_impl->SetLayerMaskType(mask_type()); | |
| 138 // Twin relationships should never change once established. | 146 // Twin relationships should never change once established. |
| 139 DCHECK(!twin_layer_ || twin_layer_ == layer_impl); | 147 DCHECK(!twin_layer_ || twin_layer_ == layer_impl); |
| 140 DCHECK(!twin_layer_ || layer_impl->twin_layer_ == this); | 148 DCHECK(!twin_layer_ || layer_impl->twin_layer_ == this); |
| 141 // The twin relationship does not need to exist before the first | 149 // The twin relationship does not need to exist before the first |
| 142 // PushPropertiesTo from pending to active layer since before that the active | 150 // PushPropertiesTo from pending to active layer since before that the active |
| 143 // layer can not have a pile or tilings, it has only been created and inserted | 151 // layer can not have a pile or tilings, it has only been created and inserted |
| 144 // into the tree at that point. | 152 // into the tree at that point. |
| 145 twin_layer_ = layer_impl; | 153 twin_layer_ = layer_impl; |
| 146 layer_impl->twin_layer_ = this; | 154 layer_impl->twin_layer_ = this; |
| 147 | 155 |
| (...skipping 1265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1413 } | 1421 } |
| 1414 | 1422 |
| 1415 invalidation_.Union(invalidation); | 1423 invalidation_.Union(invalidation); |
| 1416 tilings_->UpdateTilingsForImplSideInvalidation(invalidation); | 1424 tilings_->UpdateTilingsForImplSideInvalidation(invalidation); |
| 1417 SetNeedsPushProperties(); | 1425 SetNeedsPushProperties(); |
| 1418 TRACE_EVENT_END1("cc", "PictureLayerImpl::InvalidateRegionForImages", | 1426 TRACE_EVENT_END1("cc", "PictureLayerImpl::InvalidateRegionForImages", |
| 1419 "Invalidation", invalidation.ToString()); | 1427 "Invalidation", invalidation.ToString()); |
| 1420 } | 1428 } |
| 1421 | 1429 |
| 1422 } // namespace cc | 1430 } // namespace cc |
| OLD | NEW |