| Index: mojo/services/public/cpp/view_manager/lib/node.cc
|
| diff --git a/mojo/services/public/cpp/view_manager/lib/node.cc b/mojo/services/public/cpp/view_manager/lib/node.cc
|
| index 3f704d59dd1a10db53ee6b8bc80cb0344f8032c2..9a60bbb384d0363f8a90cfefbd2f3f999cd6e512 100644
|
| --- a/mojo/services/public/cpp/view_manager/lib/node.cc
|
| +++ b/mojo/services/public/cpp/view_manager/lib/node.cc
|
| @@ -194,26 +194,6 @@ class ScopedSetBoundsNotifier {
|
| DISALLOW_COPY_AND_ASSIGN(ScopedSetBoundsNotifier);
|
| };
|
|
|
| -class ScopedDestructionNotifier {
|
| - public:
|
| - explicit ScopedDestructionNotifier(Node* node)
|
| - : node_(node) {
|
| - FOR_EACH_OBSERVER(NodeObserver,
|
| - *NodePrivate(node_).observers(),
|
| - OnNodeDestroying(node_));
|
| - }
|
| - ~ScopedDestructionNotifier() {
|
| - FOR_EACH_OBSERVER(NodeObserver,
|
| - *NodePrivate(node_).observers(),
|
| - OnNodeDestroyed(node_));
|
| - }
|
| -
|
| - private:
|
| - Node* node_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(ScopedDestructionNotifier);
|
| -};
|
| -
|
| // Some operations are only permitted in the connection that created the node.
|
| bool OwnsNode(ViewManager* manager, Node* node) {
|
| return !manager ||
|
| @@ -359,13 +339,14 @@ Node::Node()
|
| active_view_(NULL) {}
|
|
|
| Node::~Node() {
|
| - ScopedDestructionNotifier notifier(this);
|
| + FOR_EACH_OBSERVER(NodeObserver, observers_, OnNodeDestroying(this));
|
| if (parent_)
|
| parent_->LocalRemoveChild(this);
|
| // TODO(beng): It'd be better to do this via a destruction observer in the
|
| // ViewManagerClientImpl.
|
| if (manager_)
|
| static_cast<ViewManagerClientImpl*>(manager_)->RemoveNode(id_);
|
| + FOR_EACH_OBSERVER(NodeObserver, observers_, OnNodeDestroyed(this));
|
| }
|
|
|
| ////////////////////////////////////////////////////////////////////////////////
|
|
|