Index: cc/layers/picture_layer_impl.cc |
diff --git a/cc/layers/picture_layer_impl.cc b/cc/layers/picture_layer_impl.cc |
index fb8f70150878e07eaa6e356d4301e0cba92caf19..069ddb75b1859c9684f391b8f39614643f3749d0 100644 |
--- a/cc/layers/picture_layer_impl.cc |
+++ b/cc/layers/picture_layer_impl.cc |
@@ -943,12 +943,7 @@ void PictureLayerImpl::DoPostCommitInitialization() { |
if (!tilings_) |
tilings_.reset(new PictureLayerTilingSet(this, bounds())); |
- DCHECK(!twin_layer_); |
- twin_layer_ = static_cast<PictureLayerImpl*>( |
- layer_tree_impl()->FindActiveTreeLayerById(id())); |
if (twin_layer_) { |
- DCHECK(!twin_layer_->twin_layer_); |
- twin_layer_->twin_layer_ = this; |
// If the twin has never been pushed to, do not sync from it. |
// This can happen if this function is called during activation. |
if (!twin_layer_->needs_post_commit_initialization_) |
@@ -958,6 +953,16 @@ void PictureLayerImpl::DoPostCommitInitialization() { |
needs_post_commit_initialization_ = false; |
} |
+void PictureLayerImpl::UpdateTwinRelationship() { |
+ DCHECK(!twin_layer_); |
+ twin_layer_ = static_cast<PictureLayerImpl*>( |
+ layer_tree_impl()->FindActiveTreeLayerById(id())); |
+ if (twin_layer_) { |
+ DCHECK(!twin_layer_->twin_layer_); |
+ twin_layer_->twin_layer_ = this; |
+ } |
+} |
+ |
PictureLayerTiling* PictureLayerImpl::AddTiling(float contents_scale) { |
DCHECK(CanHaveTilingWithScale(contents_scale)) << |
"contents_scale: " << contents_scale; |