| Index: cc/layers/layer.cc
|
| diff --git a/cc/layers/layer.cc b/cc/layers/layer.cc
|
| index c0687de426dc8d62aca496b0d7cf3a3ff5aeb4d3..c13813481dded163550bb075ed748daa239ac0f5 100644
|
| --- a/cc/layers/layer.cc
|
| +++ b/cc/layers/layer.cc
|
| @@ -121,10 +121,14 @@ void Layer::SetLayerTreeHost(LayerTreeHost* host) {
|
| if (layer_tree_host_) {
|
| layer_tree_host_->property_trees()->needs_rebuild = true;
|
| layer_tree_host_->UnregisterLayer(this);
|
| + if (element_id())
|
| + layer_tree_host_->UnregisterLayerForElementId(this);
|
| }
|
| if (host) {
|
| host->property_trees()->needs_rebuild = true;
|
| host->RegisterLayer(this);
|
| + if (element_id())
|
| + host->RegisterLayerForElementId(this);
|
| }
|
|
|
| layer_tree_host_ = host;
|
| @@ -839,7 +843,15 @@ void Layer::SetScrollClipLayerId(int clip_layer_id) {
|
| DCHECK(IsPropertyChangeAllowed());
|
| if (scroll_clip_layer_id_ == clip_layer_id)
|
| return;
|
| +
|
| + if (layer_tree_host_ && element_id())
|
| + layer_tree_host_->UnregisterLayerForElementId(this);
|
| +
|
| scroll_clip_layer_id_ = clip_layer_id;
|
| +
|
| + if (layer_tree_host_ && element_id())
|
| + layer_tree_host_->RegisterLayerForElementId(this);
|
| +
|
| SetNeedsCommit();
|
| }
|
|
|
| @@ -1723,7 +1735,14 @@ void Layer::SetElementId(ElementId id) {
|
| return;
|
| TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("compositor-worker"),
|
| "Layer::SetElementId", "id", id);
|
| + if (layer_tree_host_ && element_id())
|
| + layer_tree_host_->UnregisterLayerForElementId(this);
|
| +
|
| element_id_ = id;
|
| +
|
| + if (layer_tree_host_ && element_id())
|
| + layer_tree_host_->RegisterLayerForElementId(this);
|
| +
|
| SetNeedsCommit();
|
| }
|
|
|
|
|