| Index: mojo/services/view_manager/view_manager_service_impl.h
|
| diff --git a/mojo/services/view_manager/view_manager_service_impl.h b/mojo/services/view_manager/view_manager_service_impl.h
|
| index 1feb2a195b9c69a5a6cb3c00c649125394627581..4d89b75c65928241a829a5377ddd11cf5354cc97 100644
|
| --- a/mojo/services/view_manager/view_manager_service_impl.h
|
| +++ b/mojo/services/view_manager/view_manager_service_impl.h
|
| @@ -62,9 +62,8 @@ class MOJO_VIEW_MANAGER_EXPORT ViewManagerServiceImpl
|
| }
|
| const ServerView* GetView(const ViewId& id) const;
|
|
|
| - // Returns true if this has |id| as a root.
|
| - bool HasRoot(const ViewId& id) const;
|
| - const ViewIdSet& roots() const { return roots_; }
|
| + // Returns true if this connection's root is |id|.
|
| + bool IsRoot(const ViewId& id) const;
|
|
|
| // Invoked when a connection is about to be destroyed.
|
| void OnWillDestroyViewManagerServiceImpl(ViewManagerServiceImpl* connection);
|
| @@ -108,13 +107,6 @@ class MOJO_VIEW_MANAGER_EXPORT ViewManagerServiceImpl
|
|
|
| bool IsViewKnown(const ServerView* view) const;
|
|
|
| - // Returns true if this ViewManagerServiceImpl is providing a root for
|
| - // |connection|. That is, |connection| is embedded in one of our views. If
|
| - // this ViewManagerServiceImpl does provide a root, |root_id|
|
| - // is set to that root.
|
| - bool ProvidesRoot(const ViewManagerServiceImpl* connection,
|
| - ViewId* root_id) const;
|
| -
|
| // These functions return true if the corresponding mojom function is allowed
|
| // for this connection.
|
| bool CanReorderView(const ServerView* view,
|
| @@ -136,8 +128,8 @@ class MOJO_VIEW_MANAGER_EXPORT ViewManagerServiceImpl
|
| void RemoveFromKnown(const ServerView* view,
|
| std::vector<ServerView*>* local_views);
|
|
|
| - // Removes |view_id| from the set of roots this connection knows about.
|
| - void RemoveRoot(const ViewId& view_id);
|
| + // Resets the root of this connection.
|
| + void RemoveRoot();
|
|
|
| void RemoveChildrenAsPartOfEmbed(const ViewId& view_id);
|
|
|
| @@ -198,7 +190,7 @@ class MOJO_VIEW_MANAGER_EXPORT ViewManagerServiceImpl
|
| void OnConnectionEstablished() override;
|
|
|
| // AccessPolicyDelegate:
|
| - const base::hash_set<Id>& GetRootsForAccessPolicy() const override;
|
| + bool IsRootForAccessPolicy(const ViewId& id) const override;
|
| bool IsViewKnownForAccessPolicy(const ServerView* view) const override;
|
| bool IsViewRootOfAnotherConnectionForAccessPolicy(
|
| const ServerView* view) const override;
|
| @@ -227,13 +219,10 @@ class MOJO_VIEW_MANAGER_EXPORT ViewManagerServiceImpl
|
| // The set of views that has been communicated to the client.
|
| ViewIdSet known_views_;
|
|
|
| - // Set of root views from other connections. More specifically any time
|
| - // Embed() is invoked the id of the view is added to this set for the child
|
| - // connection. The connection Embed() was invoked on (the parent) doesn't
|
| - // directly track which connections are attached to which of its views. That
|
| - // information can be found by looking through the |roots_| of all
|
| - // connections.
|
| - ViewIdSet roots_;
|
| + // The root of this connection. This is a scoped_ptr to reinforce the
|
| + // connection may have no root. A connection has no root if either the root
|
| + // is destroyed or Embed() is invoked on the root.
|
| + scoped_ptr<ViewId> root_;
|
|
|
| InterfaceRequest<ServiceProvider> service_provider_;
|
|
|
|
|