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); |