Index: ash/mus/window_manager_application.h |
diff --git a/ash/mus/window_manager_application.h b/ash/mus/window_manager_application.h |
index 91372b4350a78bec3ae4bfac674becf18e2c664d..1259e052e64d3f631785e56310ff4aa7c3b609c6 100644 |
--- a/ash/mus/window_manager_application.h |
+++ b/ash/mus/window_manager_application.h |
@@ -10,6 +10,7 @@ |
#include <memory> |
#include <set> |
+#include "ash/public/interfaces/shelf.mojom.h" |
#include "base/macros.h" |
#include "mash/session/public/interfaces/session.mojom.h" |
#include "mojo/public/cpp/bindings/binding.h" |
@@ -38,9 +39,10 @@ class NativeWidgetFactoryMus; |
class WindowManager; |
// Hosts the window manager and the ash system user interface for mash. |
-// TODO(mash): Port ash_sysui's ShelfController and WallpaperController here. |
+// TODO(mash): Port ash_sysui's WallpaperController here. |
class WindowManagerApplication |
: public shell::Service, |
+ public shell::InterfaceFactory<ash::mojom::ShelfController>, |
public shell::InterfaceFactory<ui::mojom::AcceleratorRegistrar>, |
public mash::session::mojom::ScreenlockStateListener { |
public: |
@@ -64,10 +66,13 @@ class WindowManagerApplication |
bool OnConnect(const shell::Identity& remote_identity, |
shell::InterfaceRegistry* registry) override; |
+ // InterfaceFactory<ash::mojom::ShelfController>: |
+ void Create(const shell::Identity& remote_identity, |
+ ash::mojom::ShelfControllerRequest request) override; |
+ |
// shell::InterfaceFactory<ui::mojom::AcceleratorRegistrar>: |
- void Create( |
- const shell::Identity& remote_identity, |
- mojo::InterfaceRequest<ui::mojom::AcceleratorRegistrar> request) override; |
+ void Create(const shell::Identity& remote_identity, |
+ ui::mojom::AcceleratorRegistrarRequest request) override; |
// session::mojom::ScreenlockStateListener: |
void ScreenlockStateChanged(bool locked) override; |
@@ -81,6 +86,8 @@ class WindowManagerApplication |
std::unique_ptr<views::SurfaceContextFactory> compositor_context_factory_; |
std::unique_ptr<WindowManager> window_manager_; |
+ mojo::BindingSet<ash::mojom::ShelfController> shelf_controller_bindings_; |
+ |
std::set<AcceleratorRegistrarImpl*> accelerator_registrars_; |
mash::session::mojom::SessionPtr session_; |