| Index: mojo/services/public/cpp/view_manager/lib/view_tree_node.cc
|
| diff --git a/mojo/services/public/cpp/view_manager/lib/view_tree_node.cc b/mojo/services/public/cpp/view_manager/lib/view_tree_node.cc
|
| index 9194dc4e3ae61b2088650d90cbe305411b8cbbea..d695ed4a45acb52a6f91fad8035a904892664a91 100644
|
| --- a/mojo/services/public/cpp/view_manager/lib/view_tree_node.cc
|
| +++ b/mojo/services/public/cpp/view_manager/lib/view_tree_node.cc
|
| @@ -4,6 +4,8 @@
|
|
|
| #include "mojo/services/public/cpp/view_manager/view_tree_node.h"
|
|
|
| +#include "mojo/services/public/cpp/view_manager/lib/view_manager_private.h"
|
| +#include "mojo/services/public/cpp/view_manager/lib/view_manager_synchronizer.h"
|
| #include "mojo/services/public/cpp/view_manager/lib/view_tree_node_private.h"
|
| #include "mojo/services/public/cpp/view_manager/view_tree_node_observer.h"
|
|
|
| @@ -88,7 +90,17 @@ void RemoveChildImpl(ViewTreeNode* child, ViewTreeNode::Children* children) {
|
| ////////////////////////////////////////////////////////////////////////////////
|
| // ViewTreeNode, public:
|
|
|
| -ViewTreeNode::ViewTreeNode() : owned_by_parent_(true), parent_(NULL) {}
|
| +ViewTreeNode::ViewTreeNode()
|
| + : manager_(NULL),
|
| + id_(-1),
|
| + owned_by_parent_(true),
|
| + parent_(NULL) {}
|
| +
|
| +ViewTreeNode::ViewTreeNode(ViewManager* manager)
|
| + : manager_(manager),
|
| + id_(ViewManagerPrivate(manager).synchronizer()->CreateViewTreeNode()),
|
| + owned_by_parent_(true),
|
| + parent_(NULL) {}
|
|
|
| ViewTreeNode::~ViewTreeNode() {
|
| while (!children_.empty()) {
|
| @@ -122,12 +134,14 @@ void ViewTreeNode::AddChild(ViewTreeNode* child) {
|
| RemoveChildImpl(child, &child->parent_->children_);
|
| children_.push_back(child);
|
| child->parent_ = this;
|
| + ViewManagerPrivate(manager_).synchronizer()->AddChild(child->id(), id_);
|
| }
|
|
|
| void ViewTreeNode::RemoveChild(ViewTreeNode* child) {
|
| DCHECK_EQ(this, child->parent());
|
| ScopedTreeNotifier(child, this, NULL);
|
| RemoveChildImpl(child, &children_);
|
| + ViewManagerPrivate(manager_).synchronizer()->RemoveChild(child->id(), id_);
|
| }
|
|
|
| bool ViewTreeNode::Contains(ViewTreeNode* child) const {
|
|
|