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