Index: ash/mus/window_manager_application.cc |
diff --git a/ash/mus/window_manager_application.cc b/ash/mus/window_manager_application.cc |
index 38699f086bd0123ff178eef6132a463cc7ff4fd4..962667a1a9ede40c019d51891dd23e43e36c7f56 100644 |
--- a/ash/mus/window_manager_application.cc |
+++ b/ash/mus/window_manager_application.cc |
@@ -8,7 +8,6 @@ |
#include "ash/mus/accelerator_registrar_impl.h" |
#include "ash/mus/root_window_controller.h" |
-#include "ash/mus/root_windows_observer.h" |
#include "ash/mus/shelf_layout_impl.h" |
#include "ash/mus/user_window_controller_impl.h" |
#include "ash/mus/window_manager.h" |
@@ -43,16 +42,6 @@ WindowManagerApplication::~WindowManagerApplication() { |
window_manager_.reset(); |
} |
-void WindowManagerApplication::OnAccelerator(uint32_t id, |
- const ui::Event& event) { |
- for (auto* registrar : accelerator_registrars_) { |
- if (registrar->OwnsAccelerator(id)) { |
- registrar->ProcessAccelerator(id, event); |
- break; |
- } |
- } |
-} |
- |
void WindowManagerApplication::OnAcceleratorRegistrarDestroyed( |
AcceleratorRegistrarImpl* registrar) { |
accelerator_registrars_.erase(registrar); |
@@ -61,7 +50,7 @@ void WindowManagerApplication::OnAcceleratorRegistrarDestroyed( |
void WindowManagerApplication::InitWindowManager( |
::mus::WindowTreeClient* window_tree_client) { |
window_manager_->Init(window_tree_client); |
- window_manager_->AddRootWindowsObserver(this); |
+ window_manager_->AddObserver(this); |
} |
void WindowManagerApplication::Initialize(shell::Connector* connector, |
@@ -69,7 +58,7 @@ void WindowManagerApplication::Initialize(shell::Connector* connector, |
uint32_t id) { |
connector_ = connector; |
::mus::GpuService::Initialize(connector); |
- window_manager_.reset(new WindowManager(this, connector_)); |
+ window_manager_.reset(new WindowManager(connector_)); |
aura_init_.reset(new views::AuraInit(connector_, "ash_mus_resources.pak")); |
@@ -122,6 +111,9 @@ void WindowManagerApplication::Create( |
void WindowManagerApplication::Create( |
shell::Connection* connection, |
mojo::InterfaceRequest<::mus::mojom::AcceleratorRegistrar> request) { |
+ if (!window_manager_->window_manager_client()) |
+ return; // Can happen during shutdown. |
+ |
static int accelerator_registrar_count = 0; |
if (accelerator_registrar_count == std::numeric_limits<int>::max()) { |
// Restart from zero if we have reached the limit. It is technically |