| Index: mojo/services/view_manager/connection_manager.h
|
| diff --git a/mojo/services/view_manager/connection_manager.h b/mojo/services/view_manager/connection_manager.h
|
| index 73f74a0b76e65b656d9863eb3246162e328cb2cb..7c6695a438f39266aca0b92469ddc64543ee3160 100644
|
| --- a/mojo/services/view_manager/connection_manager.h
|
| +++ b/mojo/services/view_manager/connection_manager.h
|
| @@ -15,6 +15,7 @@
|
| #include "mojo/services/view_manager/animation_runner.h"
|
| #include "mojo/services/view_manager/ids.h"
|
| #include "mojo/services/view_manager/server_view_delegate.h"
|
| +#include "mojo/services/view_manager/server_view_observer.h"
|
| #include "third_party/mojo_services/src/view_manager/public/interfaces/view_manager.mojom.h"
|
| #include "third_party/mojo_services/src/window_manager/public/interfaces/window_manager_internal.mojom.h"
|
|
|
| @@ -29,6 +30,7 @@ class ViewManagerServiceImpl;
|
| // ConnectionManager manages the set of connections to the ViewManager (all the
|
| // ViewManagerServiceImpls) as well as providing the root of the hierarchy.
|
| class ConnectionManager : public ServerViewDelegate,
|
| + public ServerViewObserver,
|
| public mojo::WindowManagerInternalClient {
|
| public:
|
| // Create when a ViewManagerServiceImpl is about to make a change. Ensures
|
| @@ -69,6 +71,10 @@ class ConnectionManager : public ServerViewDelegate,
|
| mojo::WindowManagerInternal* wm_internal);
|
| ~ConnectionManager() override;
|
|
|
| + // Creates a new ServerView. The return value is owned by the caller, but must
|
| + // be destroyed before ConnectionManager.
|
| + ServerView* CreateServerView(const ViewId& id);
|
| +
|
| // Returns the id for the next ViewManagerServiceImpl.
|
| mojo::ConnectionSpecificId GetAndAdvanceNextConnectionId();
|
|
|
| @@ -175,27 +181,32 @@ class ConnectionManager : public ServerViewDelegate,
|
| void DoAnimation();
|
|
|
| // Overridden from ServerViewDelegate:
|
| - void OnWillDestroyView(ServerView* view) override;
|
| - void OnViewDestroyed(const ServerView* view) override;
|
| + void PrepareToDestroyView(ServerView* view) override;
|
| + void PrepareToChangeViewHierarchy(ServerView* view,
|
| + ServerView* new_parent,
|
| + ServerView* old_parent) override;
|
| + void PrepareToChangeViewVisibility(ServerView* view) override;
|
| + void OnScheduleViewPaint(const ServerView* view) override;
|
| +
|
| + // Overridden from ServerViewObserver:
|
| + void OnViewDestroyed(ServerView* view) override;
|
| void OnWillChangeViewHierarchy(ServerView* view,
|
| ServerView* new_parent,
|
| ServerView* old_parent) override;
|
| - void OnViewHierarchyChanged(const ServerView* view,
|
| - const ServerView* new_parent,
|
| - const ServerView* old_parent) override;
|
| - void OnViewBoundsChanged(const ServerView* view,
|
| + void OnViewHierarchyChanged(ServerView* view,
|
| + ServerView* new_parent,
|
| + ServerView* old_parent) override;
|
| + void OnViewBoundsChanged(ServerView* view,
|
| const gfx::Rect& old_bounds,
|
| const gfx::Rect& new_bounds) override;
|
| - void OnViewSurfaceIdChanged(const ServerView* view) override;
|
| - void OnViewReordered(const ServerView* view,
|
| - const ServerView* relative,
|
| + void OnViewReordered(ServerView* view,
|
| + ServerView* relative,
|
| mojo::OrderDirection direction) override;
|
| void OnWillChangeViewVisibility(ServerView* view) override;
|
| void OnViewSharedPropertyChanged(
|
| - const ServerView* view,
|
| + ServerView* view,
|
| const std::string& name,
|
| const std::vector<uint8_t>* new_data) override;
|
| - void OnScheduleViewPaint(const ServerView* view) override;
|
|
|
| // WindowManagerInternalClient:
|
| void DispatchInputEventToView(mojo::Id transport_view_id,
|
|
|