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_; |