Index: mojo/services/view_manager/root_node_manager.h |
diff --git a/mojo/services/view_manager/root_node_manager.h b/mojo/services/view_manager/root_node_manager.h |
index 91aa8e7cd9024b53b5dbb3725cd31c675b86fcc2..eee4c8c014ded7e5b04837c35ec098f893e2ce06 100644 |
--- a/mojo/services/view_manager/root_node_manager.h |
+++ b/mojo/services/view_manager/root_node_manager.h |
@@ -8,16 +8,13 @@ |
#include <map> |
#include "base/basictypes.h" |
+#include "mojo/services/native_viewport/native_viewport.mojom.h" |
#include "mojo/services/view_manager/ids.h" |
#include "mojo/services/view_manager/node.h" |
#include "mojo/services/view_manager/node_delegate.h" |
-#include "mojo/services/view_manager/root_view_manager.h" |
#include "mojo/services/view_manager/view_manager_export.h" |
namespace mojo { |
- |
-class Shell; |
- |
namespace services { |
namespace view_manager { |
@@ -26,7 +23,9 @@ |
// RootNodeManager is responsible for managing the set of ViewManagerConnections |
// as well as providing the root of the node hierarchy. |
-class MOJO_VIEW_MANAGER_EXPORT RootNodeManager : public NodeDelegate { |
+class MOJO_VIEW_MANAGER_EXPORT RootNodeManager |
+ : public NativeViewportClient, |
+ public NodeDelegate { |
public: |
// Create when a ViewManagerConnection is about to make a change. Ensures |
// clients are notified of the correct change id. |
@@ -43,7 +42,7 @@ |
DISALLOW_COPY_AND_ASSIGN(ScopedChange); |
}; |
- explicit RootNodeManager(Shell* shell); |
+ RootNodeManager(); |
virtual ~RootNodeManager(); |
// Returns the id for the next ViewManagerConnection. |
@@ -61,8 +60,6 @@ |
// Returns the View identified by |id|. |
View* GetView(const ViewId& id); |
- Node* root() { return &root_; } |
- |
// These functions trivially delegate to all ViewManagerConnections, which in |
// term notify their clients. |
void NotifyNodeHierarchyChanged(const NodeId& node, |
@@ -73,12 +70,6 @@ |
const ViewId& old_view_id); |
private: |
- // Used to setup any static state needed by RootNodeManager. |
- struct Context { |
- Context(); |
- ~Context(); |
- }; |
- |
// Tracks a change. |
struct Change { |
Change(TransportConnectionId connection_id, TransportChangeId change_id) |
@@ -104,6 +95,13 @@ |
// Balances a call to PrepareForChange(). |
void FinishChange(); |
+ // Overridden from NativeViewportClient: |
+ virtual void OnCreated() OVERRIDE; |
+ virtual void OnDestroyed() OVERRIDE; |
+ virtual void OnBoundsChanged(const Rect& bounds) OVERRIDE; |
+ virtual void OnEvent(const Event& event, |
+ const mojo::Callback<void()>& callback) OVERRIDE; |
+ |
// Overriden from NodeDelegate: |
virtual void OnNodeHierarchyChanged(const NodeId& node, |
const NodeId& new_parent, |
@@ -112,21 +110,17 @@ |
const ViewId& new_view_id, |
const ViewId& old_view_id) OVERRIDE; |
- Context context_; |
- |
// ID to use for next ViewManagerConnection. |
TransportConnectionId next_connection_id_; |
// Set of ViewManagerConnections. |
ConnectionMap connection_map_; |
+ // Root node. |
+ Node root_; |
+ |
// If non-null we're processing a change. |
scoped_ptr<Change> change_; |
- |
- RootViewManager root_view_manager_; |
- |
- // Root node. |
- Node root_; |
DISALLOW_COPY_AND_ASSIGN(RootNodeManager); |
}; |