Index: ash/common/wm/forwarding_layer_delegate.cc |
diff --git a/ash/common/wm/forwarding_layer_delegate.cc b/ash/common/wm/forwarding_layer_delegate.cc |
index 50d33c413d657566592f57a86a4e53d344b57af4..18f6fc0a177f277e4097b5595086513305edf835 100644 |
--- a/ash/common/wm/forwarding_layer_delegate.cc |
+++ b/ash/common/wm/forwarding_layer_delegate.cc |
@@ -4,16 +4,15 @@ |
#include "ash/common/wm/forwarding_layer_delegate.h" |
-#include "ash/common/wm_window.h" |
#include "ui/compositor/layer.h" |
#include "ui/compositor/layer_owner.h" |
namespace ash { |
namespace wm { |
-ForwardingLayerDelegate::ForwardingLayerDelegate(ui::Layer* new_layer, |
+ForwardingLayerDelegate::ForwardingLayerDelegate(ui::Layer* client_layer, |
ui::Layer* original_layer) |
- : client_layer_(new_layer), |
+ : client_layer_(client_layer), |
original_layer_(original_layer), |
scoped_observer_(this) { |
scoped_observer_.Add(original_layer); |
@@ -40,27 +39,8 @@ void ForwardingLayerDelegate::DidPaintLayer(ui::Layer* layer, |
client_layer_->SchedulePaint(rect); |
} |
-void ForwardingLayerDelegate::SurfaceChanged(ui::Layer* layer) { |
- // This will delete the old layer and any descendants. |
- ui::LayerOwner old_client; |
- old_client.SetLayer(client_layer_); |
- |
- ui::LayerOwner* owner = layer->owner(); |
- // The layer recreation step isn't recursive, but layers with surfaces don't |
- // tend to have children anyway. We may end up missing some children, but we |
- // can also reach that state if layers are ever added or removed. |
- // TODO(estade): address this if it ever becomes a practical issue. |
- std::unique_ptr<ui::Layer> recreated = owner->RecreateLayer(); |
- client_layer_ = recreated.get(); |
- old_client.layer()->parent()->Add(recreated.release()); |
- old_client.layer()->parent()->Remove(old_client.layer()); |
- |
- scoped_observer_.Remove(original_layer_); |
- original_layer_ = owner->layer(); |
- scoped_observer_.Add(original_layer_); |
-} |
- |
void ForwardingLayerDelegate::LayerDestroyed(ui::Layer* layer) { |
+ DCHECK_EQ(layer, original_layer_); |
original_layer_ = nullptr; |
scoped_observer_.Remove(layer); |
} |