Chromium Code Reviews| Index: ui/compositor/layer_owner.cc |
| diff --git a/ui/compositor/layer_owner.cc b/ui/compositor/layer_owner.cc |
| index cd614b37d8dca3e7e11326c2777d0e72cd80336d..86dd9d6ff7cc39fcb3611c279c88c52471ffa210 100644 |
| --- a/ui/compositor/layer_owner.cc |
| +++ b/ui/compositor/layer_owner.cc |
| @@ -66,6 +66,15 @@ scoped_ptr<Layer> LayerOwner::RecreateLayer() { |
| new_layer->Add(child); |
| } |
| + ui::Layer* root_layer = old_layer.get(); |
| + while (root_layer->parent()) |
| + root_layer = root_layer->parent(); |
|
sadrul
2015/03/06 14:33:49
You don't actually need to walk up to the root, ri
bruthig
2015/03/06 15:20:41
Done.
|
| + |
| + // If old_layer was the layer tree root then we need to move the Compositor |
| + // over to the new root. |
| + if (root_layer == old_layer.get() && old_layer->GetCompositor()) |
| + old_layer->GetCompositor()->SetRootLayer(new_layer); |
| + |
| // Install the delegate last so that the delegate isn't notified as we copy |
| // state to the new layer. |
| new_layer->set_delegate(old_delegate); |