| Index: mash/wm/window_manager_application.cc
|
| diff --git a/mash/wm/window_manager_application.cc b/mash/wm/window_manager_application.cc
|
| index 748bc481030b538efb942bc6f6a5ffc0c34199b9..1f57a65a6408b5091632b0b09c5a92c780f8f9b4 100644
|
| --- a/mash/wm/window_manager_application.cc
|
| +++ b/mash/wm/window_manager_application.cc
|
| @@ -92,6 +92,7 @@ bool WindowManagerApplication::ConfigureIncomingConnection(
|
| mojo::ApplicationConnection* connection) {
|
| connection->AddService<mus::mojom::AcceleratorRegistrar>(this);
|
| connection->AddService<mus::mojom::WindowManager>(this);
|
| + connection->AddService<mus::mojom::UserWindowController>(this);
|
| return true;
|
| }
|
|
|
| @@ -137,6 +138,11 @@ void WindowManagerApplication::OnEmbed(mus::Window* root) {
|
| std::move(*request));
|
| requests_.clear();
|
|
|
| + for (auto request : user_window_controller_requests_)
|
| + user_window_controller_binding_.AddBinding(window_manager_.get(),
|
| + std::move(*request));
|
| + user_window_controller_requests_.clear();
|
| +
|
| shadow_controller_.reset(new ShadowController(root->connection()));
|
| }
|
|
|
| @@ -178,6 +184,19 @@ void WindowManagerApplication::Create(
|
| }
|
| }
|
|
|
| +void WindowManagerApplication::Create(
|
| + mojo::ApplicationConnection* connection,
|
| + mojo::InterfaceRequest<mus::mojom::UserWindowController> request) {
|
| + if (root_) {
|
| + user_window_controller_binding_.AddBinding(window_manager_.get(),
|
| + std::move(request));
|
| + } else {
|
| + user_window_controller_requests_.push_back(
|
| + new mojo::InterfaceRequest<mus::mojom::UserWindowController>(
|
| + std::move(request)));
|
| + }
|
| +}
|
| +
|
| void WindowManagerApplication::OnWindowDestroyed(mus::Window* window) {
|
| DCHECK_EQ(window, root_);
|
| root_->RemoveObserver(this);
|
|
|