Index: mojo/services/public/cpp/view_manager/view_manager.h |
diff --git a/mojo/services/public/cpp/view_manager/view_manager.h b/mojo/services/public/cpp/view_manager/view_manager.h |
index 34db8e7b7f2b44fadfe904ddf33374522c570ede..28e45625b45c8648e55db235f0ee29b81b6643e5 100644 |
--- a/mojo/services/public/cpp/view_manager/view_manager.h |
+++ b/mojo/services/public/cpp/view_manager/view_manager.h |
@@ -34,29 +34,30 @@ class ViewManager { |
// and ready to use. |
static void Create( |
Application* application, |
- const base::Callback<void(ViewManager*)> ready_callback); |
+ const base::Callback<void(ViewManager*)>& root_added_callback); |
// Blocks until ViewManager is ready to use. |
- static ViewManager* CreateBlocking(Application* application); |
+ static ViewManager* CreateBlocking( |
+ Application* application, |
+ const base::Callback<void(ViewManager*)>& root_added_callback); |
- ViewTreeNode* tree() { return tree_; } |
+ const std::vector<ViewTreeNode*>& roots() { return roots_; } |
ViewTreeNode* GetNodeById(TransportNodeId id); |
View* GetViewById(TransportViewId id); |
- void Embed(const String& url, ViewTreeNode* node); |
- |
private: |
friend class ViewManagerPrivate; |
typedef std::map<TransportNodeId, ViewTreeNode*> IdToNodeMap; |
typedef std::map<TransportViewId, View*> IdToViewMap; |
ViewManager(Application* application, |
- const base::Callback<void(ViewManager*)> ready_callback); |
+ const base::Callback<void(ViewManager*)>& root_added_callback); |
- base::Callback<void(ViewManager*)> ready_callback_; |
+ base::Callback<void(ViewManager*)> root_added_callback_; |
ViewManagerSynchronizer* synchronizer_; |
- ViewTreeNode* tree_; |
+ |
+ std::vector<ViewTreeNode*> roots_; |
IdToNodeMap nodes_; |
IdToViewMap views_; |