Index: mash/wm/window_manager_application.h |
diff --git a/mash/wm/window_manager_application.h b/mash/wm/window_manager_application.h |
index e7c5a43ed37add2f2cd233d36be1dbebd051799f..45916ea895233e4f3561a4ea01962ed828425fd0 100644 |
--- a/mash/wm/window_manager_application.h |
+++ b/mash/wm/window_manager_application.h |
@@ -5,12 +5,15 @@ |
#ifndef MASH_WM_WINDOW_MANAGER_APPLICATION_H_ |
#define MASH_WM_WINDOW_MANAGER_APPLICATION_H_ |
+#include <set> |
+ |
#include "base/macros.h" |
#include "base/memory/scoped_ptr.h" |
#include "base/memory/scoped_vector.h" |
#include "components/mus/common/types.h" |
#include "components/mus/public/cpp/window_observer.h" |
#include "components/mus/public/cpp/window_tree_delegate.h" |
+#include "components/mus/public/interfaces/accelerator_registrar.mojom.h" |
#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" |
@@ -32,6 +35,7 @@ class AuraInit; |
namespace mash { |
namespace wm { |
+class AcceleratorRegistrarImpl; |
class BackgroundLayout; |
class ShelfLayout; |
class WindowLayout; |
@@ -42,7 +46,8 @@ class WindowManagerApplication |
public mus::WindowObserver, |
public mus::mojom::WindowTreeHostClient, |
public mus::WindowTreeDelegate, |
- public mojo::InterfaceFactory<mus::mojom::WindowManager> { |
+ public mojo::InterfaceFactory<mus::mojom::WindowManager>, |
+ public mojo::InterfaceFactory<mus::mojom::AcceleratorRegistrar> { |
public: |
WindowManagerApplication(); |
~WindowManagerApplication() override; |
@@ -64,6 +69,7 @@ class WindowManagerApplication |
private: |
void AddAccelerators(); |
+ void OnAcceleratorRegistrarDestroyed(AcceleratorRegistrarImpl* registrar); |
// ApplicationDelegate: |
void Initialize(mojo::ApplicationImpl* app) override; |
@@ -77,6 +83,11 @@ class WindowManagerApplication |
void OnEmbed(mus::Window* root) override; |
void OnConnectionLost(mus::WindowTreeConnection* connection) override; |
+ // InterfaceFactory<mus::mojom::AcceleratorRegistrar>: |
+ void Create(mojo::ApplicationConnection* connection, |
+ mojo::InterfaceRequest<mus::mojom::AcceleratorRegistrar> request) |
+ override; |
+ |
// InterfaceFactory<mus::mojom::WindowManager>: |
void Create( |
mojo::ApplicationConnection* connection, |
@@ -112,6 +123,8 @@ class WindowManagerApplication |
scoped_ptr<ShelfLayout> shelf_layout_; |
scoped_ptr<WindowLayout> window_layout_; |
+ std::set<AcceleratorRegistrarImpl*> accelerator_registrars_; |
+ |
DISALLOW_COPY_AND_ASSIGN(WindowManagerApplication); |
}; |