Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(436)

Unified Diff: mash/wm/window_manager_application.h

Issue 1488713002: mus: Introduce AcceleratorRegistrar and AcceleratorHandler. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: mash/wm/window_manager_application.h
diff --git a/mash/wm/window_manager_application.h b/mash/wm/window_manager_application.h
index 51c1a2279d30949751f6177ac208ba3e2e8b07a4..d58e362d61adf6dbf0e5f03189f1f23410ae78b3 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;
@@ -63,6 +68,7 @@ class WindowManagerApplication
private:
void AddAccelerators();
+ void OnAcceleratorRegistrarDestroyed(AcceleratorRegistrarImpl* registrar);
// ApplicationDelegate:
void Initialize(mojo::ApplicationImpl* app) override;
@@ -76,6 +82,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,
@@ -111,6 +122,8 @@ class WindowManagerApplication
scoped_ptr<ShelfLayout> shelf_layout_;
scoped_ptr<WindowLayout> window_layout_;
+ std::set<AcceleratorRegistrarImpl*> accelerator_registrars_;
+
DISALLOW_COPY_AND_ASSIGN(WindowManagerApplication);
};

Powered by Google App Engine
This is Rietveld 408576698