Chromium Code Reviews| Index: mash/wm/window_manager_application.h |
| diff --git a/mash/wm/window_manager_application.h b/mash/wm/window_manager_application.h |
| index 20593df8b3dc605de000204fa991d1b905b52b81..61a3e8dd37c8b679136692ff8bde69ed75d896e7 100644 |
| --- a/mash/wm/window_manager_application.h |
| +++ b/mash/wm/window_manager_application.h |
| @@ -19,6 +19,7 @@ |
| #include "components/mus/public/interfaces/window_manager.mojom.h" |
| #include "components/mus/public/interfaces/window_tree_host.mojom.h" |
| #include "mash/wm/public/interfaces/container.mojom.h" |
| +#include "mash/wm/public/interfaces/user_window_controller.mojom.h" |
| #include "mojo/common/weak_binding_set.h" |
| #include "mojo/services/tracing/public/cpp/tracing_impl.h" |
| #include "mojo/shell/public/cpp/application_delegate.h" |
| @@ -41,6 +42,7 @@ class AcceleratorRegistrarImpl; |
| class BackgroundLayout; |
| class ShadowController; |
| class ShelfLayout; |
| +class UserWindowControllerImpl; |
| class WindowLayout; |
| class WindowManagerImpl; |
| @@ -49,6 +51,7 @@ class WindowManagerApplication |
| public mus::WindowObserver, |
| public mus::mojom::WindowTreeHostClient, |
| public mus::WindowTreeDelegate, |
| + public mojo::InterfaceFactory<mash::wm::mojom::UserWindowController>, |
| public mojo::InterfaceFactory<mus::mojom::WindowManager>, |
| public mojo::InterfaceFactory<mus::mojom::AcceleratorRegistrar> { |
| public: |
| @@ -86,6 +89,12 @@ class WindowManagerApplication |
| void OnEmbed(mus::Window* root) override; |
| void OnConnectionLost(mus::WindowTreeConnection* connection) override; |
| + // InterfaceFactory<mash::wm::mojom::UserWindowController>: |
| + void Create( |
| + mojo::ApplicationConnection* connection, |
| + mojo::InterfaceRequest<mash::wm::mojom::UserWindowController> request) |
| + override; |
| + |
| // InterfaceFactory<mus::mojom::AcceleratorRegistrar>: |
| void Create(mojo::ApplicationConnection* connection, |
| mojo::InterfaceRequest<mus::mojom::AcceleratorRegistrar> request) |
| @@ -122,6 +131,14 @@ class WindowManagerApplication |
| mojo::WeakBindingSet<mus::mojom::WindowManager> window_manager_binding_; |
| ScopedVector<mojo::InterfaceRequest<mus::mojom::WindowManager>> requests_; |
| + // |user_window_controller_| is created once OnEmbed() is called. Until that |
| + // time |user_window_controller_requests_| stores pending interface requests. |
| + scoped_ptr<UserWindowControllerImpl> user_window_controller_; |
| + mojo::WeakBindingSet<mash::wm::mojom::UserWindowController> |
| + user_window_controller_binding_; |
| + ScopedVector<mojo::InterfaceRequest<mash::wm::mojom::UserWindowController>> |
|
sky
2016/01/14 00:19:21
ScopedVector is deprecated. See the header.
|
| + user_window_controller_requests_; |
| + |
| scoped_ptr<BackgroundLayout> background_layout_; |
| scoped_ptr<ShelfLayout> shelf_layout_; |
| scoped_ptr<WindowLayout> window_layout_; |